在学习过程中分析别人的代码实现是一个好习惯。即使你不是很懂,通过多次输入代码来培养感情也是一件好事。以下是实际效果(一般我只在火狐测试):。
鼠标滑过上面的导航链接时下面框中图片进行流畅的切换,左右移动的效果超文本标记语言结构如下:复制代码代码如下:车身氕网页设计/h1 p这些是您应该知道的事情/p ol id='linklist '阿利href='结构。“html”结构/a/Li阿利”演示文稿。' html '演示文稿/a/Li阿利href='行为。“html”行为/a/Li/ol/body实在是很简单啊。下面我们直接来看射流研究…代码,先给出两个辅助函数:addLoadEvent复制代码代码如下:函数addLoadEvent(func){ var oldonload=window。onloadwindow.onload!=' function '){ window。onload=func} else { window。onload=function(){ oldonload();func();} } } 这个函数顾名思义就是加载窗户的装载事件所要处理的方法插入后复制代码代码如下:函数insertAfter(newElement,目标元素){ var parent=目标元素。父节点;if(家长。last child==TargetElement){ parent。append child(NewElement);} else { parent。在(NewElement,targetElement.nextSibling)之前插入在数字正射影像图应用编程接口中有个在.之前插入但是没有插入后,所以这里自定义一个插入后方法,只要清楚附录子和在.之前插入这个函数很好理解,把新增项目插入到标的元素之前。
接下来moveElement函数很核心:moveElement复制代码代码如下:函数moveElement(elementID,final_x,final_y,interval) { if(!document.getElementById)返回falseif(!文件。getelementbyid(元素id))返回文件。getelementbyid(元素id);if(elem。移动){ cleartime out(elem。运动);} if(!艾伦。风格。左){ elem。风格。left=' 0px} if(!艾伦。风格。top){ elem。风格。top=' 0px} var xpos=ParSeint(elem。风格。左);var ypos=ParSeint(elem。风格。顶部);if(xpos==final _ x ypos==final _ y){ 0返回true } if(xpos final _ x){ var dist=math。ceil((final _ x-xpos)/10);xpos=xpos dist } if(xpos final _ x){ var dist=math。ceil((xpos-final _ x)/10);xpos=xpos-dist;} if(ypos final _ y){ var dist=math。ceil((final _ y-ypos)/10);ypos=ypos dist } if(ypos final _ y){ var dist=math。ceil((ypos-final _ y)/10);ypos=ypos-dist;} elem。风格。left=xpos ' px艾伦。风格。top=ypos ' pxvar repeat=' move element '(' element id ',' final_x ',' final_y ',' interval ');elem.movement=setTimeout(重复,间隔);} final_x,final_y分别为元素移动终止的左边的和顶端值,所以被移动元素要设置位置属性("相对"或是位置'),这样它的左侧,顶部属性才会起作用,这个函数也不难,就是取得元素当前的左边的和顶端值然后和最终_x,最终_y做比较,接着对其左边的和顶端按照一定的步长改变,每次的步长就是每个如果中的距离变量,因为每次距离都会根据被移动元素的最新左侧,顶部计算,所以有一种先加速后减速的移动效果,参数间隔,和定时器配合让moveElement自我调用,直到元素移动到final_x和最终_y接着是pepareSlideshow函数,动态的创建所需的数字正射影像图元素:准备幻灯片复制代码代码如下:函数准备幻灯片确保浏览器能理解DOM API if(!document.getElementsByTagName)返回falseif(!document.getElementById)返回false//确保该元素已存在if(!文件。getelementbyid('链接列表')返回falsevar slide=文档。创建元素(' div ');/*如果在钢性铸铁中设置这些属性,此处可省滑动。风格。位置='相对';滑动。风格。溢出='隐藏';滑动。风格。宽度=' 100px滑动。风格。高度=' 100像素';*/幻灯片。SetAttribute(' id ',' slideshowvar preview=document。创建元素(' img ');/*如果在钢性铸铁中设置,此处可省预览。风格。position=“绝对”;*/preview.setAttribute('src ')、幻灯片/主题。gif ');preview.setAttribute('alt ','网页设计的构造块');preview.setAttribute('id ',' preview ');幻灯片显示. appendChild(预览);var列表=文档。getelementbyid('链接列表');插入后(幻灯片显示,列表);//获得开环(同开环)中所有的a元素var link=list。getelementsbytagname(' a ');//给每个a的鼠标悬停事件附加上moveElement方法链接[0]。onmouseover=function(){ moveElement(' preview ',-100,0,10);}链接[1]。onmouseover=function(){ moveElement(' preview ',-200,0,10);}链接[2]。onmouseover=function(){ moveElement(' preview ',-300,0,10);} } 这里也就涉及到一些元素的创建,元素属性的设置等基本的数字正射影像图应用编程接口运用,然后给ol[id='linklist']中的a元素附加鼠标转移事件对应的moveElement方法,最后用添加加载事件(准备幻灯片)就行了,结合超文本标记语言和效果图看,这个函数也是很好理解的。代码打包下载//www .JB 51。net/jiao Ben/27501。超文本标记语言