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 安装 Xamarin官方Mono
    mongo命令行下去除重复的数据
    通过前端js将页面表格导出为PDF(二)
    通过前端js将页面表格导出为PDF(一)
    ubuntu下手动安装MongoDB
    在django项目下执行定时任务
    django+uwsgi+nginx部署在ubuntu系统上
    Nginx(三)
    Nginx(二)
    Nginx(一)
  • 原文地址:https://www.cnblogs.com/yjhua/p/4666845.html
Copyright © 2011-2022 走看看