Heim  >  Artikel  >  Web-Frontend  >  Wie erreicht man ein nahtloses Scrollen von Bildern auf mobilen Endgeräten? (Code)

Wie erreicht man ein nahtloses Scrollen von Bildern auf mobilen Endgeräten? (Code)

PHPz
PHPznach vorne
2018-10-15 15:12:532275Durchsuche

In diesem Artikel erfahren Sie, wie Sie ein nahtloses Scrollen von Bildern auf dem mobilen Endgerät erreichen können. (Code), es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

<!doctype html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width,user-scalable=no">
<title>Document</title>
<script type="text/javascript">
//获取html
var html = document.documentElement;
//设置html的字体大小 = 可视区的宽度 / 15
html.style.fontSize = html.clientWidth / 15 + &#39;px&#39;;
//阻止pc和浏览器默认行为。
document.addEventListener(&#39;touchstart&#39;,function(ev){
ev.preventDefault();
});
</script>
<style>
body{
margin: 0;
}
.wrap{
height: 4.68rem;
position: relative;
}
.list{
padding: 0;
margin: 0;
width:400%;
position: absolute;
top:0;
left:0;
list-style: none;
}
.list li{
float: left;
width:15rem;
}
.list img{
width:15rem;
display: block;
}
nav{
width:15rem;
height: 10px;
position: absolute;
bottom:5px;
z-index: 1;
text-align:center;
}
nav a{
width:15px;
height: 15px;
display: inline-block;
background: red;
border-radius:50%;
vertical-align:top;
}
nav a.active{
background:#fff;
}
</style>
</head>
<body>
<section>
<ul>
<li>
<img src="img/img.jpg" alt="" />
</li>
<li>
<img src="img/img2.jpg" alt="" />
</li>
<li>
<img src="img/img3.jpg" alt="" />
</li>
<li>
<img src="img/img4.jpg" alt="" />
</li>
</ul>
<nav>
<a href="javascript:;"></a>
<a href="javascript:;"></a>
<a href="javascript:;"></a>
<a href="javascript:;"></a>
</nav>
</section>
<script type="text/javascript">
var wrap=document.getElementsByClassName("wrap")[0],
list=document.getElementsByClassName("list")[0],
disX=0,
listL=0,
n=0,
w=wrap.clientWidth,
s=0,
timer=0;
a=document.getElementsByTagName("a");
list.addEventListener("touchstart",start);
list.addEventListener("touchmove",move);
list.addEventListener("touchend",end);
list.innerHTML+=list.innerHTML;
len=list.children.length;
console.log(len);
list.style.width=w*len+"px";
function start(ev){
clearInterval(timer);
var e=ev.changedTouches[0];
disX=e.pageX;
list.style.transition="none";
var num=Math.round(list.offsetLeft/w);
list.style.left=num*w+"px";
if(num==0){
num=a.length;
list.style.left=-num*w+"px";
}
if(-num==len-1){
num=a.length-1;
list.style.left=-num*w+"px";
}
listL=this.offsetLeft;
}
function move(ev){
var e=ev.changedTouches[0];
list.style.left=(e.pageX-disX)+listL+"px";
}
function end(){
var num=Math.round(list.offsetLeft/w);
console.log(num)
list.style.transition="0.5s";
list.style.left=num*w+"px";
a[n].className="";
a[(-num)%a.length].className="active";
n=(-num)%a.length;
timer=setInterval(function(){
inn();
},1000)
s=-num;
}
timer=setInterval(function(){
inn();
},1000)
function inn(){
s++;
list.style.left=-s*w+"px";
list.style.transition="0.5s";
console.log(s);
if(s>len-1){
s=a.length-1;
list.style.transition="none";
list.style.left=-s*w+"px";
console.log(list.style.left);
setTimeout(function(){
list.style.transition="0.5s";
s++;
list.style.left=-s*w+"px";
a[n].className="";
a[s%a.length].className="active";
n=s%a.length;
},30)
}
a[n].className="";
a[s%a.length].className="active";
n=s%a.length;
}
</script>
</body>
</html>

Wie erreicht man oben ein nahtloses Scrollen von mobilen Bildern? (Code) Vollständige Einführung. Wenn Sie mehr über HTML-Video-Tutorial erfahren möchten, schauen Sie sich bitte die chinesische PHP-Website an.

Das obige ist der detaillierte Inhalt vonWie erreicht man ein nahtloses Scrollen von Bildern auf mobilen Endgeräten? (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen