zoukankan      html  css  js  c++  java
  • 手机轮播事件,JQ

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
            <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no" />
            <meta name="apple-touch-fullscreen" content="YES" />
            <meta name="apple-mobile-web-app-status-bar-style" content="black" />
    <title>无标题文档</title>
    </head>
    <style>
    body {
        margin: 0;
        padding: 0;
        background: #333;
        overflow: hidden;
    }
    li, ul {
        list-style: none;
        margin: 0;
        padding: 0;
        height: 100%;
        overflow: hidden;
    }
    /* 使得图片居中 webkit-box */
        li {
        position: absolute;
        display: -webkit-box;
        -webkit-box-pack: center;
        -webkit-box-align: center;
        -webkit-backface-visibility:hidden;
    
    }
    li img {
        max- 100%;
        max-height: 100%;
    }
    /* 隐藏画布外的内容 */
        #canvas {
        height: 100%;
         100%;
        overflow: hidden;
        
    }
    </style>
    
    <body>
    
    <div id="canvas" >
       <ul style="margin-left:0px">
    
            <li ><img src="imgs/21.jpg"></li>
            <li ><img src="imgs/22.jpg"></li>
            <li ><img src="imgs/23.jpg"></li>
            <li ><img src="imgs/24.jpg"></li>
    
       </ul>
    </div>
    </body>
    </html>
    <script src="jquery-1.11.1.min.js"></script>
    <script type="text/javascript">
         var warW=$(window).width();// 屏的宽度
         var warH=$(window).height(); //屏的高度
         var oUi=$("#canvas ul")
         var liLen=$("#canvas ul li").length;
         var warNum=warW/warH;  // 屏的宽与高的比例
         var oLi=$("#canvas ul li");
         
         var starTime,oLiX,sefX,MoLiX,endTime,numMl;
         var $indexLi="";
         var numMl='';
         oUi.width(warW).height(warH);
         oLi.width(warW);
    /*
    初始图片 在一屏上自适应显示
    */
         oLi.each(function(){
                var ImgNum= $(this).find("img").width()/$(this).find("img").height();
                 if(warNum>ImgNum){
                       $(this).find("img").width($(this).find("img").width())
                 }else{
                         $(this).find("img").height($(this).find("img").height())
                 }
         });
    
    /*
    初始图片水平 排列
    */
            for(var i=0;i<liLen; i++){
                      //svar $this=$(this).index();
                    var NumX=i*warW+"px";
                    oLi.eq(i).css({
                            "transform":"translateX("+NumX+")"
                    })
            }
            
            
            
            
    /*
    鼠标开始的时候
    */
            function startHandler(evt){
                    evt.preventDefault();
                    starTime=new Date() * 1;
                    startX=evt.touches[0].pageX;
                    console.log(numMl+"star");
                    oUi.css("margin-left","'+numMl+'px")
                    
                   
            }
    /*
    鼠标滑动的时候
    */
           function moveHandler(evt){
                   evt.preventDefault();
                   MoLiX=evt.targetTouches[0].clientX-startX;
                   var $indexLi=$(this).index();   // 当前索引值
                   var $index=$indexLi;
                   oUi.css({
                           "marginLeft":(MoLiX+(-$index*warW))+"px",
                         })
            }
    /*
    鼠标离开的时候
    */
    var $indexLi=1;
    function endHandler(evt) {
        evt.preventDefault();
        var endTime = new Date() * 1;
        var con = warW / 6;
        var $indexLi = $(this).index();
        numMl = 0 + $indexLi * warW;    //记录偏移的量
    
        if (endTime - starTime > 500) {  //按时间的大小进行 执行滑动函数
            if (MoLiX < -con) {
                if ($indexLi == liLen-1) { //最后一张的时候不执行滑动函数
                    goIndex($indexLi);
                    return false;    //防止跳出浏览器
                } else {
                    $indexLi++;
                    goIndex($indexLi);
                }
    
            } else if (MoLiX > con) {
                if ($indexLi == 0) {
                    goIndex(0);
                    return false;
                } else {
                    $indexLi--;
                    goIndex($indexLi);
                }
    
            }
    
        } else {
            // 快速触发滑动
            if (MoLiX < -20) {
                if ($indexLi == liLen-1) {
                    goIndex($indexLi);
                    return false;
                } else {
                    $indexLi++;
                    goIndex($indexLi);
                }
    
            } else if (MoLiX > 20) {
                if ($indexLi == 0) {
                    goIndex(0);
                    return false;
                } else {
                    $indexLi--;
                    goIndex($indexLi);
                }
    
            }
        }
    
    }
            
            
            
        /*
    鼠标离开的时候执行的函数
    */
    
          function goIndex($indexLi){
               oUi.animate({
                   "marginLeft":(-$indexLi*warW)+"px",
                   },260)
    
    
            }
        
            
            
    /*
    函数绑定
    */
    for( var i=0; i<liLen;i++){
        oLi[i].addEventListener('touchstart', startHandler); // 当前 手指的位移
        oLi[i].addEventListener('touchmove', moveHandler); // 当前 手指的位移
        oLi[i].addEventListener('touchend', endHandler); // 当前 手指的位移
        
        
    
    }
    
    
    
    </script>

      源码下载。请到文件下载里面 的   demo1.rar

  • 相关阅读:
    Centos 7 zabbix 实战应用
    Centos7 Zabbix添加主机、图形、触发器
    Centos7 Zabbix监控部署
    Centos7 Ntp 时间服务器
    Linux 150命令之查看文件及内容处理命令 cat tac less head tail cut
    Kickstart 安装centos7
    Centos7与Centos6的区别
    Linux 150命令之 文件和目录操作命令 chattr lsattr find
    Linux 发展史与vm安装linux centos 6.9
    Linux介绍
  • 原文地址:https://www.cnblogs.com/yjhua/p/4666845.html
Copyright © 2011-2022 走看看