English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
PC端で画像のスライドショー効果を実現するのは非常に簡単で、clickイベントを使用するだけで簡単に効果を実現できますが、モバイル端では、touchイベントの核を使用して実現する必要があります。
以下は、モバイル端手指でスライドするキャラクターの完全なコードです。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <style> *{margin:0;padding:0;} li{list-style:none;} .lb{width:320px;height:130px;position:relative;margin:20px auto;overflow: hidden;} .lb .lb_img{width:2240px;height:130px;position:absolute;left:-320px;} .lb .lb_img img{width:320px;height:130px;float:left;display:block;} .lb ul{width:35px;height:4px;position:absolute;bottom:10px;left:50%;margin-left:-15px;} .lb ul li{width:4px;height:4px;border-radius:2px;border:0.25px solid #fff;margin-left:2.5px;background:#666;float:left;cursor:pointer;} .lb ul .active{background:#fff;} .lb ul li:hover{background:#fff;} </<style> </<head> <body> <div class="lb"> <div class="lb_img"> <img src="img/4.jpg"> <img src="img/0.jpg"> <img src="img/1.jpg"> <img src="img/2.jpg"> <img src="img/3.jpg"> <img src="img/4.jpg"> <img src="img/0.jpg"> </div> <ul> <li class="active"></li> <li></li> <li></li> <li></li> <li></li> </ul> </div> <script> var lb = document.querySelector(".lb"); var lb_img = document.querySelector(".lb .lb_img"); var img = document.querySelectorAll(".lb .lb_img img"); var lis = document.querySelectorAll(".lb ul li"); var i=2; // 指の座標ポイントを初期化する var startPoint = 0; var startEle = 0; //指を押したとき、 lb.addEventListener("touchstart",function(e){ startPoint = e.changedTouches[0].pageX; startEle = lb_img.offsetLeft; clearInterval(Time); }); //指をスライドさせるとき、 lb.addEventListener("touchmove",function(e){ var currPoint = e.changedTouches[0].pageX; var disX = currPoint - startPoint; var left = startEle + disX; lb_img.style.left = left; + "px"; }); //指が離れたときに、 lb.addEventListener("touchend",function(e){ var currPoint = e.changedTouches[0].pageX; var disX = - (現在のポイント - startPoint); var left = startEle + disX; if(disX > 150){ i++; for(var q=0;q<lis.length;q++{ lis[q].className = ''; } if(i == 7{ i=2; } lis[i-2].className= "active" ; lb_img.style.left = -320*if(disX </32"px";+i+1)+ else{ } lb_img.style.left = -320*(i-1) + "px"; } (Math.round( -150){ i--; for(var q=0;q<lis.length;q++{ lis[q].className = ''; } if(i == 1{ i=6; } lis[i-2].className= "active" ; lb_img.style.left = -320*disX-0)/32"px";+i-2) + else{ } lb_img.style.left = -320*(i-1) + "px"; } Time=setInterval(autoplay,2000); ) //タイマーを設定 Time=setInterval(autoplay,2000); function autoplay(){ i++; for(var q=0;q<lis.length;q++{ lis[q].className = ''; } if(i == 7{ i=2; } lis[i-2].className= "active" ; for(var a=0; a<320;a++{ setTimeout(function(){ var left = lb_img.style.left ? lb_img.style.left : "-320px"; left = parseInt(left)-1; if(left<-1920){ left=-321; } lb_img.style.left = left; + "px"; },a); } } </script> </body> </html>
この原生JSでのモバイル端末のタッチスライドショーのサンプルコードが、編集者が皆さんに提供した全ての内容です。皆さんに参考になれば幸いです。また、ナイアラ教程を多くのサポートをお願いします。
声明:この記事の内容はインターネットから収集され、著作権者に帰属します。インターネットユーザーによって自発的に提供され、アップロードされました。このウェブサイトは所有権を持ちません。人工的な編集は行われていません。また、関連する法的責任を負いません。著作権侵害を疑う内容が見つかった場合は、メールを送信してください:notice#oldtoolbag.com(メールを送信する際は、#を@に置き換えてください。告発を行い、関連する証拠を提供してください。一旦確認がとれましたら、このサイトは即座に侵害を疑われるコンテンツを削除します。)