Maison >interface Web >js tutoriel >effets spéciaux de défilement d'images wap sans éléments css3 compétences en écriture de script js pur_javascript
Commutation coulissante d'images de téléphones mobiles. Il existe de nombreux exemples de ce type sur Internet, mais ils reposent tous sur d'autres composants, ce qui rend le code déroutant. Il existe également l'utilisation de transform en CSS3 : translate (x, y); pour déplacer des éléments, mais j'ai découvert que ce serait bientôt terminé sur les appareils qui ne prennent pas en charge CSS3, j'ai donc décidé d'en créer un moi-même. De manière inattendue, il y a eu de nombreux problèmes, dont le plus important était l'ajout de liens vers des images. les barres de défilement vers le bas de la page Web ne pouvaient pas défiler lors du déplacement des images et ne sont pas compatibles avec le déplacement sur les machines PC ; je présenterai ici brièvement les problèmes rencontrés et les solutions ;
Problème 1 : Après avoir ajouté un lien vers une image, celle-ci passe toujours à d'autres pages lorsque vous la faites glisser
La principale source du problème est qu'il ne peut pas déterminer s'il s'agit d'un clic ou d'un glisser. L'ordre général des événements du téléphone mobile est touchstart-》mousedown-》mousemove-》touchmove-》mouseup-》touchend-》click, ce qui peut être différent selon les différents téléphones mobiles. Les événements sur les téléphones mobiles à écran tactile utilisent généralement touchstart -> touchmove -> touchend -> click L'événement click est exécuté en dernier Lorsque nous avons traité touchstart, touchmove et touchend, si nous ne renvoyons pas ou n'annulons pas la valeur par défaut, l'événement click. sera déclenché, donc la page Web s'éloigne. La solution est d'enregistrer le point de coordonnées de touchstart et le point de coordonnées de touchmove, et de calculer si le point de contact s'est déplacé en fonction des deux points de coordonnées. le paramètre Event de l'écran tactile est généralement event touches, event.targetTouches, event.changedTouches. Lors du test, j'ai constaté que les valeurs des trois paramètres sont les mêmes. Cependant, il convient de noter que l'événement touchend n'obtiendra pas les coordonnées du point de contact (il peut s'agir d'un problème de périphérique qui continuera à démarrer). lors du déplacement. Parfois, touchmove ne se déclenchera pas, ce qui signifie que le navigateur dispose d'une fonction intégrée pour détacher le point tactile (ou la souris) de l'élément sélectionné. Par exemple, si vous appuyez et maintenez pendant une longue période, un menu apparaîtra. apparaîtra (l'image sur le PC générera une vignette qui pourra être glissée), de sorte que Pour annuler la valeur par défaut, event.preventDefault();
Problème 2 : Les barres de défilement haut et bas de la page Web ne peuvent pas défiler lorsque vous faites glisser l'image
Je pense que ce problème sera rencontré tant que vous le ferez. En fait, c'est principalement parce que l'événement par défaut event.preventDefault() est annulé lors du déplacement (touchmove, mousemove). s'il faut se déplacer pour obtenir le point de contact et si les points de contact de départ sont cohérents, s'ils sont cohérents, revenez directement et calculez également si l'axe des x bouge davantage ou si l'axe des y bouge davantage, afin que nous puissions annuler la valeur par défaut en glissant à gauche et à droite, et ne pas annuler en allant à l'écoleProblème 3 : Et ce n'est pas compatible avec le glisser sur les machines PC
En effet, lors de la liaison de l'événement, vous ne pouvez pas complètement déterminer si le nom de l'événement est touchstart ou mousedown. Je l'ai recherché sur Internet et j'ai senti que cela n'avait pas été fait, alors je l'ai copié directement
.
this.eventName={ touchstart:'touchstart', touchmove:'touchmove', touchend:'touchend', } 在做判断 if(!device){ this.eventName.touchstart='mousedown'; this.eventName.touchmove='mousemove'; this.eventName.touchend='mouseup'; } dom.addEventListener(this.eventName.touchstart,handleEvent,false);
En fait, j'ai rencontré beaucoup de problèmes, donc je ne vais pas les expliquer un par un
Plus de mots, je viens de publier le code. S'il y a quelque chose qui ne va pas, veuillez l'inclure et faire des commentaires
<!doctype html> <html> <head> <meta charset="utf-8"> <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport" /> <meta content="yes" name="apple-mobile-web-app-capable" /> <meta content="black" name="apple-mobile-web-app-status-bar-style" /> <meta content="telephone=no" name="format-detection" /> <title></title> <style type="text/css"> html,body,*{ margin: 0; padding: 0; border: 0;} #wapListImage1, #wapListImage{width: 100%; overflow: hidden; height: auto; cursor: move; zoom:1; position: relative;} #wapListImage1 ul, #wapListImage1 ul li, #wapListImage1 ul, #wapListImage ul li{ list-style: none;} #wapListImage1 ul, #wapListImage ul{width: 99999px;} #wapListImage1 ul li, #wapListImage ul li{ float: left;} #wapListImage ul li a img:focus, #wapListImage ul li a img:checked, #wapListImage ul li a img, #wapListImage ul li a img:active, #wapListImage ul li a,#wapListImage ul li a:active{cursor: move;} #wapListImage dl{ position: absolute; bottom: 10px; right: 0;} #wapListImage dl span{overflow: hidden;width: 10px; height: 10px; background-color: #900; display: inline-block;} #wapListImage dl span.selected{ background-color: #000;} </style> </head> <body> <div id="k"> <div id="wapListImage"> <ul> <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" hrefto="ddd" target="_black"><img src="http://file25.mafengwo.net/M00/37/74/wKgB4lM9Hb-ARjpJAAOsX46Kq9w39.gonglve.w690.jpeg"></a></li> <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" hrefto="ddd"><img src="http://file25.mafengwo.net/M00/F2/06/wKgB4lNaHHCASXmDAAFtZsUxuwQ66.gonglve.w690.jpeg"></a></li> <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" hrefto="ddd"><img src="http://file25.mafengwo.net/M00/2B/EE/wKgB4lNwdpeAbvZiAAWcFRXe2Po83.gonglve.w690.jpeg"></a></li> <!-- <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" hrefto="ddd" target="_black"><img src="http://file25.mafengwo.net/M00/37/74/wKgB4lM9Hb-ARjpJAAOsX46Kq9w39.gonglve.w690.jpeg"></a></li> <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" hrefto="ddd"><img src="http://file25.mafengwo.net/M00/F2/06/wKgB4lNaHHCASXmDAAFtZsUxuwQ66.gonglve.w690.jpeg"></a></li> <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" hrefto="ddd"><img src="http://file25.mafengwo.net/M00/2B/EE/wKgB4lNwdpeAbvZiAAWcFRXe2Po83.gonglve.w690.jpeg"></a></li> --> </ul> <dl> <span class="selected">1</span> <span>2</span> <span>3</span> <!-- <span>4</span> <span>5</span> <span>6</span> --> </dl> </div> </div> <div style="height:200px;"></div> <div id="wapListImage1"> <ul> <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" hrefto="ddd" target="_black"><img src="http://file25.mafengwo.net/M00/37/74/wKgB4lM9Hb-ARjpJAAOsX46Kq9w39.gonglve.w690.jpeg"></a></li> <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" hrefto="ddd"><img src="http://file25.mafengwo.net/M00/F2/06/wKgB4lNaHHCASXmDAAFtZsUxuwQ66.gonglve.w690.jpeg"></a></li> <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" hrefto="ddd"><img src="http://file25.mafengwo.net/M00/2B/EE/wKgB4lNwdpeAbvZiAAWcFRXe2Po83.gonglve.w690.jpeg"></a></li> </ul> </div> <script type="text/javascript"> ;(function(w,d){ var device = (/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase())); function WapImage(){ this.options={ dom: null, speed:200, isupdate:true, time:3000, leftOrright:'left', isfor:false, callBack:function(){} }, this.eventName={ touchstart:'touchstart', touchmove:'touchmove', touchend:'touchend', }, this.point={ x:5, y:5, pageX1:0, pageX2:0, pageY1:0, pageY2:0 }, this.page={ bodyWidth:320, domUL:null, liList:null, index: 0, flag:false, sTime:0, eTime:0, isDown:false, mleft:0, back:30, moveId:[], nextId:null, prevId:null, isdom:false }, this.Event={ handleEvent: function(event,lib){ event = event ? event : window.event; // console.log(event.type) switch(event.type){ case "touchstart": var touch = event.touches[0]; case "mousedown": if(lib.page.isDown) return; lib.page.isDown=true; lib.page.sTime=lib.page.eTime=new Date().getTime(); lib.Event.stop(lib,lib); if(event.type=="mousedown"){ touch = event; event.preventDefault(); } lib.point.pageX1 = lib.point.pageX2 = touch.pageX; lib.point.pageY1 = lib.point.pageY2 = touch.pageY; lib.page.mleft = parseFloat(lib.page.domUL.style.marginLeft); lib.page.mleft = lib.page.mleft ? lib.page.mleft : 0; break; case "touchmove": var touch = event.touches[0]; case "mousemove": if(!lib.page.isDown) return; if(event.type=="mousemove"){ touch = event; } lib.point.pageX2 = touch.pageX; lib.point.pageY2 = touch.pageY; if(lib.point.pageX1==lib.point.pageX2){ event.preventDefault(); return false; } var changeX = lib.point.pageX1 - lib.point.pageX2; var changeY = lib.point.pageY1 - lib.point.pageY2; if(Math.abs(changeX)>Math.abs(changeY)) {//左右事件 event.preventDefault(); lib.page.domUL.style.marginLeft=lib.page.mleft-changeX+'px'; if(parseFloat(lib.page.domUL.style.marginLeft)<= -(lib.page.liList.length-1)*lib.page.bodyWidth){ lib.page.domUL.style.marginLeft= -(lib.page.liList.length-1)*lib.page.bodyWidth+'px'; lib.page.mleft=-(lib.page.liList.length-1)*lib.page.bodyWidth; } if(parseFloat(lib.page.domUL.style.marginLeft)>0){ lib.page.domUL.style.marginLeft='0px'; lib.page.mleft=0; } }else if(Math.abs(changeY)>Math.abs(changeX)){//上下事件 }else{//长按或点击 } break; case "mouseup": case "touchend": if(!lib.page.isDown) return; lib.page.eTime=new Date().getTime(); lib.page.mleft = parseFloat(lib.page.domUL.style.marginLeft); lib.page.mleft = lib.page.mleft ? lib.page.mleft : 0; var changeX = lib.point.pageX1 - lib.point.pageX2; var changeY = lib.point.pageY1 - lib.point.pageY2; if(Math.abs(changeX)>Math.abs(changeY)) {//左右事件 event.preventDefault(); lib.Event.move.call(this,lib); }else if(Math.abs(changeY)>Math.abs(changeX)){//上下事件 lib.Event.move.call(this,lib); }else{//长按或点击 if((lib.page.eTime - lib.page.sTime) > 300) {//长按 }else{//点击 if(event.button==0 || event.type=='touchend'){ var a = lib.page.liList[lib.page.index].getElementsByTagName('a')[0]; if(typeof a.getAttribute('target')=='object'){ w.location=a.getAttribute('hrefto') }else{ w.open(a.getAttribute('hrefto')); } } } } lib.page.isDown=false; break; default: break; } }, position: function(lib,index){ // if(index==undefined){ // lib.page.domUL.style.marginLeft= -(lib.page.index*lib.page.bodyWidth) +'px'; // }else{ // lib.page.domUL.style.marginLeft= -(index*lib.page.bodyWidth) +'px'; // lib.page.index=index; // } if(!lib.options.isfor){ if(index==undefined){ lib.page.domUL.style.marginLeft= -(lib.page.index*lib.page.bodyWidth) +'px'; }else{ lib.page.domUL.style.marginLeft= -((index-1)*lib.page.bodyWidth) +'px'; lib.page.index=index-1; } lib.options.callBack({"index":parseInt(lib.page.liList[lib.page.index].getAttribute('index'))+1}); }else{ if(index==undefined){ lib.page.domUL.style.marginLeft= -lib.page.bodyWidth +'px'; }else{ lib.page.domUL.style.marginLeft= -lib.page.bodyWidth +'px'; while(true){ if(parseInt(index)==parseInt(lib.page.liList[1].getAttribute('index'))+1){ break; } lib.page.domUL.insertBefore(lib.page.liList[lib.page.liList.length-1],lib.page.liList[0]); } } lib.options.callBack({"index":parseInt(lib.page.liList[1].getAttribute('index'))+1}); } }, stop:function(lib){ for(var i =0;i<lib.page.moveId.length;i++){ clearInterval(lib.page.moveId[i]); } lib.page.moveId=[]; }, start:function(lib){ if(lib.options.isupdate){ lib.page.moveId[lib.page.moveId.length] = setInterval(function(){ if(lib.options.leftOrright=='left'){ lib.Event.next(lib,lib); }else{ lib.Event.prev(lib,lib); } },lib.options.time); } }, next:function(lib){ // console.log(lib.page.prevId.length+"nextId") // for (var n=0;n<lib.page.prevId.length;n++) { // // clearInterval(lib.page.prevId[n]); // }; // lib.page.prevId=[]; clearInterval(lib.page.prevId); lib.page.prevId=null; // var left = (lib.page.bodyWidth-Math.abs(lib.point.pageX1-lib.point.pageX2))/lib.options.speed; var yu = Math.abs(parseInt(lib.page.domUL.style.marginLeft)); while(true){ if(yu==0){ yu=lib.page.bodyWidth; break; }else if(yu<0){ yu= Math.abs(yu); break; } yu=yu-lib.page.bodyWidth } // var left = (lib.page.bodyWidth-Math.abs(parseFloat(lib.page.domUL.style.marginLeft)%lib.page.bodyWidth))/lib.options.speed; var left = yu/lib.options.speed; var c = 0; if(lib.page.index==lib.page.liList.length-1){ lib.page.flag=false; return; } clearInterval(lib.page.nextId); lib.page.nextId = window.setInterval(function(){ // lib.Event.stop(lib,lib); // if(lib.page.moveId==null){ // clearInterval(id); // } c=c+5; lib.page.domUL.style.marginLeft= (parseFloat(lib.page.domUL.style.marginLeft)-left*5)+'px'; // console.log("next"+lib.page.domUL.style.marginLeft); if(c>=lib.options.speed || parseFloat(lib.page.domUL.style.marginLeft)<= -(lib.page.liList.length-1)*lib.page.bodyWidth ){ if(parseFloat(lib.page.domUL.style.marginLeft)<= -(lib.page.liList.length-1)*lib.page.bodyWidth){ lib.page.domUL.style.marginLeft= -(lib.page.liList.length-1)*lib.page.bodyWidth+'px'; } clearInterval(lib.page.nextId); // for(var n=0;n=lib.page.nextId.length;n++){ // clearInterval(lib.page.nextId[0]); // } // lib.page.nextId=[]; lib.page.index++; lib.page.flag=false; lib.Event.domUpdate.call(this,lib,'r'); if(lib.page.moveId.length==0){ lib.Event.start(lib,lib); } } },5); }, prev:function(lib){ // console.log(lib.page.nextId.length+"nextId") // for(var n=0;n=lib.page.nextId.length;n++){ // // clearInterval(lib.page.nextId[0]); // } clearInterval(lib.page.nextId); lib.page.nextId=null; // lib.page.nextId=[]; // var left = (lib.page.bodyWidth-Math.abs(lib.point.pageX1-lib.point.pageX2))/lib.options.speed; // var left = (lib.page.bodyWidth-Math.abs(parseFloat(lib.page.domUL.style.marginLeft)%lib.page.bodyWidth))/lib.options.speed; var yu = Math.abs(parseInt(lib.page.domUL.style.marginLeft)); // console.log(yu+"----"+lib.page.domUL.style.marginLeft) while(true){ if(yu==0){ yu=lib.page.bodyWidth; break; }else if(yu<0){ yu= lib.page.bodyWidth-Math.abs(yu); break; } yu=yu-lib.page.bodyWidth } // var left = (lib.page.bodyWidth-yu)/lib.options.speed; var left = yu/lib.options.speed; var c = 0,id; if(lib.page.index==0){ lib.page.flag=false; return; } var ml = parseFloat(lib.page.domUL.style.marginLeft); clearInterval(lib.page.prevId); lib.page.prevId = window.setInterval(function(){ c=c+5; lib.page.domUL.style.marginLeft= (parseFloat(lib.page.domUL.style.marginLeft)+left*5)+'px'; // console.log(lib.page.domUL.style.marginLeft); if(c>=lib.options.speed || parseFloat(lib.page.domUL.style.marginLeft)>=0){ if(parseFloat(lib.page.domUL.style.marginLeft)>=0){ lib.page.domUL.style.marginLeft='0px'; } clearInterval(lib.page.prevId); // for (var n=0;n<lib.page.prevId.length;n++) { // clearInterval(lib.page.prevId[n]); // }; // lib.page.prevId=[]; lib.page.index--; lib.page.flag=false; lib.Event.domUpdate.call(this,lib,'l'); if(lib.page.moveId.length==0){ lib.Event.start(lib,lib); } } },5); }, move:function(lib){ if(lib.page.flag) return; lib.page.flag=true; if(Math.abs(lib.point.pageX1-lib.point.pageX2)<lib.page.back){ var h = Math.abs(Math.abs(parseFloat(lib.page.domUL.style.marginLeft))-Math.abs(lib.page.bodyWidth*lib.page.index)) h = h/70; var hi = 0; var hid; hid = window.setInterval(function(){ if(lib.point.pageX2>lib.point.pageX1){ lib.page.domUL.style.marginLeft = (parseFloat(lib.page.domUL.style.marginLeft) - h*5) +'px'; }else{ lib.page.domUL.style.marginLeft = (parseFloat(lib.page.domUL.style.marginLeft) + h*5) + 'px'; } hi=hi+5; if(hi>=70){ clearInterval(hid); lib.page.domUL.style.marginLeft= -(lib.page.index*lib.page.bodyWidth) +'px'; lib.page.flag=false; } },5); return; } if(lib.point.pageX1-lib.point.pageX2>0){ lib.Event.next.call(this,lib); }else if(lib.point.pageX2-lib.point.pageX1>0){ // console.log("===") lib.Event.prev.call(this,lib); } }, domUpdate: function(lib,type){ if(lib.page.isdom) return; lib.page.isdom=true; if(!lib.options.isfor){ var index = lib.page.liList[lib.page.index].getAttribute('index'); lib.options.callBack({"index":parseInt(index)+1}); lib.page.isdom=false; return; } if(type=='l'){ lib.page.domUL.insertBefore(lib.page.liList[lib.page.liList.length-1],lib.page.liList[0]); lib.page.domUL.style.marginLeft=-lib.page.bodyWidth+'px';//(parseFloat(lib.page.domUL.style.marginLeft)-lib.page.bodyWidth)+'px'; //lib.page.index++; }else if(type=='r'){ lib.page.domUL.appendChild(lib.page.liList[0]); lib.page.domUL.style.marginLeft=-lib.page.bodyWidth+'px';//(parseFloat(lib.page.domUL.style.marginLeft)+lib.page.bodyWidth)+'px'; //lib.page.index--; } lib.page.index=1; // console.log(lib.page.index) var index = lib.page.liList[lib.page.index].getAttribute('index'); lib.options.callBack({"index":parseInt(index)+1}); lib.page.isdom=false; } }; }; WapImage.prototype = { setoption: function(arg){ for(var i in this.options){ this.options[i]= arg[i] !== undefined ? arg[i] : this.options[i]; } if(!device){ this.eventName.touchstart='mousedown'; this.eventName.touchmove='mousemove'; this.eventName.touchend='mouseup'; } //return temp; }, bindEvent: function(){ var lib = this; this.page.domUL.addEventListener(this.eventName.touchstart,function(event){lib.Event.handleEvent.call(lib,event,lib);},false); w.addEventListener(this.eventName.touchmove,function(event){lib.Event.handleEvent.call(lib,event,lib);},false); w.addEventListener(this.eventName.touchend,function(event){lib.Event.handleEvent.call(lib,event,lib);},false); w.addEventListener('resize',function(){lib.init();},false); }, init:function(){ this.page.bodyWidth=document.body.clientWidth; this.page.liList= this.options.dom.getElementsByTagName('li'); this.page.domUL = this.options.dom.getElementsByTagName('ul')[0]; this.options.dom.style.width=this.page.bodyWidth+'px'; for(var i=0;i<this.page.liList.length;i++){ var item = this.page.liList[i]; var img = item.getElementsByTagName('img')[0]; item.setAttribute('index',i); item.style.width=this.page.bodyWidth+'px'; img.style.width = this.page.bodyWidth+'px'; } if(this.page.liList.length<3){ var length = this.page.liList.length; if(length==1){ this.page.domUL.appendChild(this.page.liList[0].cloneNode(true)); this.page.domUL.appendChild(this.page.liList[0].cloneNode(true)); }else{ for(var i=0;i<length;i++){ this.page.domUL.appendChild(this.page.liList[i].cloneNode(true)); } } this.page.liList= this.options.dom.getElementsByTagName('li'); } }, position:function(index){ this.Event.position.call(this,this,index); }, next:function(){ this.Event.next.call(this,this); }, prev:function(){ this.Event.prev.call(this,this); }, start: function(arg){ this.setoption(arg); this.init(); this.position(); this.bindEvent(); this.Event.domUpdate(this,'l'); this.Event.start(this); } }; var loaded=function(){ w.WapImage=new WapImage(); w.WapImages=new WapImage(); }; (function(){ if(d.body){ loaded(); }else{ if(d.addEventListener){ d.addEventListener( 'DOMContentLoaded', function(){ d.removeEventListener( 'DOMContentLoaded', arguments.callee, false ); loaded(); }, false ); }else if(d.attachEvent){ d.attachEvent( 'onreadystatechange', function(){ if( d.readyState === 'complete' ){ d.detachEvent( 'onreadystatechange', arguments.callee ); loaded(); } }); } } })(); })(window,document,undefined); window.onload = function(){ var obj = { dom:document.getElementById('wapListImage'), isupdate:true, time:3000, isfor:true, leftOrright:'left', callBack:function(obj){ var span = document.getElementById('wapListImage').getElementsByTagName('dl')[0].getElementsByTagName('span'); for(var k = 0;k<span.length;k++){ span[k].className=''; } span[obj.index-1].className='selected' // console.log(obj.index) } }; WapImage.start(obj); WapImage.position(2) var obj2 = { dom:document.getElementById('wapListImage1'), callBack:function(obj){ // console.log(obj.index) } }; WapImages.start(obj2); // var img = new w.WapImage(); // img.start(obj); } </script> </body> </html>
Une fois la page chargée
var obj = { dom:document.getElementById('wapListImage'),//dom元素 isupdate:true,//是否自动切换 time:3000,//自动切换的时间毫秒 isfor:true, //是否循环播放,即到最后一张是否直接转入第一张,或到第一张直接转入最后一张 leftOrright:'left',//像左侧自动切换还是像右侧自动切换 callBack:function(obj){//切换成功后回调函数 其实有index参数为当前第几张图片 //自己处理 var span = document.getElementById('wapListImage').getElementsByTagName('dl')[0].getElementsByTagName('span'); for(var k = 0;k<span.length;k++){ span[k].className=''; } span[obj.index-1].className='selected' // console.log(obj.index) } }; WapImage.start(obj); WapImage.position(2)
dans le code
Définissez le nombre d'images de commutation dont vous avez besoin et nommez-lescomme
w.WapImage=new WapImage();
w.WapImages=new WapImage();
WapImage.start() et WapImages.start()