移动端入门之轮播图

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>移动端轮播图</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<style>
*{ margin:0; padding:0; list-style:none;}
html{ font-size:20px;}
#box{width:16rem;height:7.5rem; margin:0 auto; overflow:hidden;}

    #box ul{width:64rem; overflow:hidden;}
    #box ul li{width:16rem; height:7.5rem; float:left; text-align:center; line-height:7.5rem; font-size:2rem; color:#fff;}
</style>
<script>
    //rem自适应转换
    (function(win,doc){
        function change(){
            doc.documentElement.style.fontSize=20*doc.documentElement.clientWidth/320+'px';
        }
        change();

        win.addEventListener('resize',change,false);
    })(window,document)
    document.addEventListener('DOMContentLoaded',function () {
        var oUl=document.querySelector('#box ul');
        var aLi=oUl.children;
        var x=0;
        var n=0;
        oUl.addEventListener('touchstart',function (ev) {
            oUl.style.webkitTransform='none';
            var downX=ev.targetTouches[0].pageX;
            var disX=downX-x;
            function fnMove(ev) {
                x=ev.targetTouches[0].pageX-disX;
                oUl.style.webkitTransform='translate3d('+x+'px,0,0)'
            }
            function fnEnd(ev) {
                var upX=ev.changedTouches[0].pageX;
                oUl.style.transition='0.4s all ease';
                if(Math.abs(upX-downX)>50){
                    if(downX>upX){
                        n++;
                        if(n==aLi.length)n=aLi.length-1;
                        x=-n*aLi[0].offsetWidth;
                        oUl.style.webkitTransform='translate3d('+x+'px,0,0)'
                    }else{
                        n--;
                        if(n==-1)n=0;
                        x=-n*aLi[0].offsetWidth;
                        oUl.style.webkitTransform='translate3d('+x+'px,0,0)'
                    }

                }
                oUl.removeEventListener('touchend',fnEnd,false)
                oUl.removeEventListener('touchmove',fnMove,false)
            }
            oUl.addEventListener('touchend',fnEnd,false)
            oUl.addEventListener('touchmove',fnMove,false)
            ev.preventDefault();
        },false)

    },false)
</script>

</head>
<body>
<div id="box">
<ul>
<li style=" background:red;">0</li>
<li style=" background:blue;">1</li>
<li style=" background:green;">2</li>
<li style=" background:#499;">3</li>
</ul>
</div>
</body>
</html>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、DOM 什么是DOM?Document Object Model(文档对象模型)。DOM是针对HTML和XML...
    空谷悠阅读 4,547评论 0 2
  • 一、下面我将简单的介绍移动端布 局的八种方式: 1.固定布局 2.流动布局 3.浮动布局 4.定位布局 5.混合布...
    李好Ario阅读 5,469评论 0 8
  • 1. tab列表折叠效果 html: 能源系统事业部 岗位名称: 工作地点 岗位名...
    lilyping阅读 5,910评论 0 1
  • 一、下面我将简单的介绍移动端布局的八种方式:** 1.固定布局**2.流动布局3.浮动布局4.定位布局5.混...
    张宪宇阅读 5,601评论 0 2
  • 冬天了,天气太冷直接吃水果对于小宝宝来说太凉了,那么苹果我会把它蒸熟后给宝宝吃,先喝苹果水后吃苹果泥,橙汁我挤出来...
    六月洋阅读 1,517评论 0 0

友情链接更多精彩内容