好學(xué)的Lv
2016-06-15 16:26:24
<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條經(jīng)驗 獲得超5個贊
setInterval("show()",3000); 這種寫法必須是全局作用域下執(zhí)行,不然就會報defined錯誤。所以去掉“$(function(){“ + ”})”就可以了 ;
還有一種解決辦法是:?setInterval("show()",3000); ?改成??setInterval(show,3000); ?最完美;
當(dāng)然,還有一種寫法?setInterval(show(), 3000);//最好不要用,函數(shù)調(diào)用正常,setInterval調(diào)用好像會出錯。
(以上內(nèi)容 希望對你有幫助 ?僅供參考)

qq_月的另一面_03503378
TA貢獻1條經(jīng)驗 獲得超0個贊
意思是你的show沒有定義,試試把setInterval("show()",3000); 改成setInterval(show,3000);
- 8 回答
- 0 關(guān)注
- 8109 瀏覽
添加回答
舉報
0/150
提交
取消