English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

モバイル端末でのタッチスライドショーを実現する原生jsのサンプルコード

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(メールを送信する際は、#を@に置き換えてください。告発を行い、関連する証拠を提供してください。一旦確認がとれましたら、このサイトは即座に侵害を疑われるコンテンツを削除します。)

基本教程
おすすめ