<body>
<div class="box">
<div class="one"></div>
<div class="one two"></div>
<div class="one three"></div>
</div>
<script type="text/javascript" src="jquery-1.11.2.min.js"></script>
<script>
$(function(){
var i=0;
var len=$(".box div").length;
$(".box div").eq(0).show().siblings().hide();
function show(){
if(i==len-1){
i=0;
}else{
$(".box div").eq(i).show().siblings().hide();
i++;
}
};
setInterval("show()",3000);
})
</script>请问大神,我这个脚本运行出错,提示VM128:1 Uncaught ReferenceError: show is not defined
8 回答
已采纳
DuffLin
TA贡献3条经验 获得超5个赞
setInterval("show()",3000); 这种写法必须是全局作用域下执行,不然就会报defined错误。所以去掉“$(function(){“ + ”})”就可以了 ;
还有一种解决办法是: setInterval("show()",3000); 改成 setInterval(show,3000); 最完美;
当然,还有一种写法 setInterval(show(), 3000);//最好不要用,函数调用正常,setInterval调用好像会出错。
(以上内容 希望对你有帮助 仅供参考)
qq_月的另一面_03503378
TA贡献1条经验 获得超0个赞
意思是你的show没有定义,试试把setInterval("show()",3000); 改成setInterval(show,3000);
- 8 回答
- 0 关注
- 7896 浏览
添加回答
举报
0/150
提交
取消