首页 新闻 会员 周边

setTimeout导致undfind

0
悬赏园豆:20 [已解决问题] 解决于 2015-10-27 18:06
 1 function imgLshow(){
 2     var ul_box = document.getElementById("ul_box");
 3     var lis =  ul_box.getElementsByTagName("li");
 4     for (var i = 0; i < lis.length; i++){
 5         var li = lis[i]
 6         li.onmouseover = goto;
 7         li.onmouseout = backto;
 8         
 9     }
10     function goto(){
11         var lefted = parseInt(li.getElementsByTagName("img").item(0).style.left)
12         if(lefted>(-10)){
13             this.getElementsByTagName("img")[0].style.left = -1+"px";
14             setTimeout(goto,10);
15         }else {
16             this.style.left = -10 +"px";
17             }
18         
19     }
20     function backto(){
21         this.getElementsByTagName("img")[0].style.left = 0;
22     }
23 }
24 imgLshow();

我想模仿京东的图片滑动,即鼠标移动到图片时,图片缓慢向左滑动10像素,鼠标离开时,图片缓慢归位。我用了一个settimeout,导致了错误,不知道如何修改了,求大神指点迷津,谢谢。

牛屮的主页 牛屮 | 初学一级 | 园豆:93
提问于:2014-11-28 13:38
< >
分享
最佳答案
0

你这段 setTimeout(goto,10);我觉得不应该写在goto方法里,试着拿出去在外面再写个方法里调用这个方法试试吧。

收获园豆:10
大楚打码人 | 老鸟四级 |园豆:4313 | 2014-11-28 13:51

刚刚得知,setTimeout不能写在for循环里。

牛屮 | 园豆:93 (初学一级) | 2014-11-28 15:10
其他回答(3)
0

parseInt(li.getElementsByTagName("img").item(0).style.left) 这句话有效?

收获园豆:5
幻天芒 | 园豆:37175 (高人七级) | 2014-11-28 14:42

让您见笑了,果然没效,我alert(lefted),怎么都是零。把li改为this,管事了。

支持(0) 反对(0) 牛屮 | 园豆:93 (初学一级) | 2014-11-28 15:19
0
 1  function goto(e){
 2          var lefted = parseInt(e.getElementsByTagName("img").item(0).style.left)
 3          if(lefted>(-10)){
 4              e.getElementsByTagName("img")[0].style.left = -1+"px";
 5              setTimeout(goto(e),10);
 6          }else {
 7              e.style.left = -10 +"px";
 8              }
 9          
10      }
11  
12  $("#ul_box>li").mouseover(function(){
13      goto(this[0]);
14  }).mouseout(function(){
15         this[0].getElementsByTagName("img")[0].style.left = 0;
16  });

手写的不知道队不对。没有验证。

收获园豆:5
chenping2008 | 园豆:9836 (大侠五级) | 2014-11-28 15:01

尽管我在第一句的最后面添加了;,但是还是没有出来效果,应该是我不会调试。

支持(0) 反对(0) 牛屮 | 园豆:93 (初学一级) | 2014-11-28 15:59
0

http://www.zan3.com/zan1097.html  用css3解决吧,受不鸟了!!

牛屮 | 园豆:93 (初学一级) | 2014-11-28 16:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册