Joomla上的Javascript setInterval函数问题

时间:2012-04-23 11:22:01

标签: javascript jquery joomla1.5 setinterval

我添加了此脚本

<script type="text/javascript">
    var x = 2;
//console.log('Not broken');
$('.email_image li:gt(0)').css({opacity:0});

setInterval(function() { // function slideshow() { var m = $('.email_image li').size(); x += 1; console.log('Not broken'); if (x > m) { x = 1; } $(".email_image ul li:visible").animate({ opacity: 0 }); $(".email_image ul li:nth-child(" + (x) + ")").animate({ opacity: 1 }); // } }, 5000); </script>

到我的模板的index.php。我想使用该脚本为一些图像集创建一个简单的幻灯片。循环只运行一次并停止。在Joomla之外,它完美无缺,但在Joomla,它只运行一次并停止。 Joomla是否存在setInterval函数的问题。围绕这个问题的方法是什么?

这里分别是Joomla和Joomla演示的链接 Joomla demo Outside Joomla demo

1 个答案:

答案 0 :(得分:1)

即使jQuery路径是正确的并且包含正常但$返回jQuery以外的东西(看起来像冲突):

function $(el){if(!el)return null;if(el.htmlElement)return Garbage.collect(el);if([window,document].contains(el))return el;var type=$type(el);if(type=='string'){el=document.getElementById(el);type=(el)?'element':false;}
if(type!='element')return null;if(el.htmlElement)return Garbage.collect(el);if(['object','embed'].contains(el.tagName.toLowerCase()))return el;$extend(el,Element.prototype);el.htmlElement=function(){};return Garbage.collect(el);}

以下是控制台上出现的错误:

Uncaught TypeError: Cannot call method 'css' of null

对于jQuery,请尝试使用$替换jQuery的每个实例。

或者你可以$这样:

(function($){
   // your code here
})(jQuery);