我正在尝试将这个(dannyvankooten dot com / jquery-plugins / mapz /)图像平移脚本实现到Joomla文章中。我在Joomla(http://tylypahka.tk/karttatesting/)之外进行了测试,它运行得很好。但是,当我在Joomla文章中尝试它时,平移不起作用(http://tylypahka.tk/kartta)。
我将相同的代码放入Joomla模板的头部,这是我在测试版上的代码:
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js" type="text/javascript"></script>
<script src="https://jquery-ui.googlecode.com/svn-history/r2596/branches/dev/spinner/external/mousewheel/jquery.mousewheel.min.js" type="text/javascript" ></script>
<script src="http://tylypahka.tk/js/jquery.mapz.js" type="text/javascript"></script>
<script type="text/javascript" src="http://tylypahka.tk/js/jquery.maphilight.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#map").mapz({
zoom : true,
createmaps : true,
mousewheel : true
});
});
</script>
<script type="text/javascript">$(function() {
$('.map').maphilight();
$('#squidheadlink').mouseover(function(e) {
$('#squidhead').mouseover();
}).mouseout(function(e) {
$('#squidhead').mouseout();
}).click(function(e) { e.preventDefault(); });
});</script>
<style>
.map-viewport{ position:relative; width:860px; height:883px; overflow:hidden; background-color:black;}
.level{ position:absolute; left:0; top:0; z-index:10;}
.current-level{ z-index:20; }
#map{ width:1297px; height:883px; position:absolute; left:0; top:0; cursor:move;}
</style>
与文章完全相同的代码:
<div class="map-viewport">
<div id="map">
<img src="http://img42.imageshack.us/img42/8954/tylypahkanportit.png" width="1297" height="883" usemap="#html-map" class="current-level level map" />
</div>
<map name="html-map">
<area id="squidhead" shape="rect" coords="311,494,434,634" href="http://www.image-maps.com/" alt="" title=""/>
</map>
</div>
jQuery会自动加载Joomla网站,所以它不应该是问题。我在这里做错了什么想法?
非常感谢所有建议和帮助!
答案 0 :(得分:3)
你正在使用$这是jQuery的简写代码,但是Joomla还加载了mootools,它被赋予了相同的选择器:所以只需将所有$()更改为jquery(),你应该让它工作。您只需要在外层执行此操作,然后将$作为参数传递:
jQuery(function($){
// inside this handler you can use the $ since you passed it as a parameter to the function:
// btw, this is nicer than jQuery(document).ready...
$('#someid').show();
});
答案 1 :(得分:0)
最好使用Joomla编码标准将代码包含在脑中,同时检查它是否已经导入,因为这会导致冲突。
首先,请下载Sourcerer,这样您就可以在文章中添加代码了。
然后,使用Sourcerer添加以下内容:
$document = JFactory::getDocument();
if(!JFactory::getApplication()->get('jqueryui')){
JFactory::getApplication()->set('jqueryui',true);
$document->addScript("https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js");
}
$document->addScript("https://jquery-ui.googlecode.com/svn-history/r2596/branches/dev/spinner/external/mousewheel/jquery.mousewheel.min.js");
$document->addScript("http://tylypahka.tk/js/jquery.mapz.js");
$document->addScript("http://tylypahka.tk/js/jquery.maphilight.js");
$document->addScriptDeclaration('
$(document).ready(function() {
$("#map").mapz({
zoom : true,
createmaps : true,
mousewheel : true
});
});
');
$document->addScriptDeclaration('
$(function() {
$('.map').maphilight();
$('#squidheadlink').mouseover(function(e) {
$('#squidhead').mouseover();
}).mouseout(function(e) {
$('#squidhead').mouseout();
}).click(function(e) { e.preventDefault(); });
});
');
$document->addStyleDeclaration(.map-viewport { position:relative; width:860px; height:883px; overflow:hidden; background-color:black;}
.level{ position:absolute; left:0; top:0; z-index:10;}
.current-level{ z-index:20; }
#map{ width:1297px; height:883px; position:absolute; left:0; top:0; cursor:move;});
希望这有效并且有所帮助