为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript DOM编程艺术最后一章,按照内容敲代码,但是无法实现功能,是否哪里出错了?

JavaScript DOM编程艺术最后一章,按照内容敲代码,但是无法实现功能,是否哪里出错了?

小布ever 2016-10-19 00:18:26
function moveElement(elementID,final_x,final_y,interval){     if(!document.getElementById) return false;     if(!document.getElementById(elementID)) return false;     var elem=document.getElementById(elementID);     if(elem.movement){         clearTimeout(elem.movement);     }     if(!elem.style.left || !elem.style.top) return false;     var xpos=parseInt(elem.style.left);     var ypos=parseInt(elem.style.top);     var dist=0;     if(xpos==final_x && ypos==final_y){         return true;     }     if(xpos<final_x){         dist=Math.ceil((final_x-xpos)/10);         xpos=xpos+dist;     }     if(xpos>final_x){         dist=Math.ceil((xpos-final_x)/10);         xpos=xpos-dist;     }     if(ypos<final_y){         dist=Math.ceil((final_y-ypos)/10);         ypos=ypos+dist;     }     if(ypos>final_y){         dist=Math.ceil((ypos-final_y)/10);         ypos=ypos-dist;     }     elem.style.left=xpos+"px";     elem.style.top=ypos+"px";     var repeat="moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";     elem.movement=setTimeout(repeat,interval); } function prepareSlideshow(){     if(!document.getElementsByTagName) return false;     if(!document.getElementById) return false;     if(!document.getElementById('intro')) return false;     var intro=document.getElementById('intro');     var slideshow=document.createElement('div');     slideshow.setAttribute('id','slideshow');     var frame=document.createElement('img');     frame.setAttribute('src','images/frame.gif');     frame.setAttribute('alt','');     frame.setAttribute('id','frame');     slideshow.appendChild(frame);     var preview=document.createElement('img');     preview.setAttribute('src','images/slideshow.gif');     preview.setAttribute('alt','a glimpse');     preview.setAttribute('id','preview');     slideshow.appendChild(preview);     insertAfter(slideshow,intro);     //在此之前的可以正常运行,效果可以显示出来,但是这后面的效果出不来     var links=document.getElementsByTagName("a");     for(var i=0;i<links.length;i++){         links[i].onmouseover=function(){             var destination=this.getAttribute("href");             if(destination.indexOf("index.html") != -1){                 moveElement("preview",0,0,5);             }             if(destination.indexOf("about.html") != -1){                 moveElement("preview",-150,0,5);             }             if(destination.indexOf("photos.html") != -1){                 moveElement("preview",-300,0,5);             }             if(destination.indexOf("live.html") != -1){                 moveElement("preview",-450,0,5);             }             if(destination.indexOf("contact.html") != -1){                 moveElement("preview",-600,0,5);             }         }     } } addLoadEvent(prepareSlideshow);反复和书上的代码对比过后还是无法发现哪里出错了,在prepareSlideshow()函数注释之前的效果可以实现,但是后面的就不行了,是否哪里出错了,望指点一二,感谢!
查看完整描述

1 回答

  • 1 回答
  • 1 关注
  • 2539 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信