touchSwipe移动端触摸事件
更新:HHH   时间:2023-1-7


今天分享一款很棒的插件touchSwipe,估计很多朋友都在找手机全屏滚动的效果,因为好多企业的微官网是或是专题都在用这样的效果,那么今天touchSwipe 1.6是最新的专门为移动设备设计的jquery插件,如:Ipad,苹果、安卓,当然PC上也是可以用的,嘻嘻。插件touchSwipe可监听单个和多个手指触摸,鼠标按着左键拖动等事件,因此插件可以实现滑动滚屏、缩放等效果。本实例主讲滚屏效果,相了解缩放功能的请参考官方文档。

特点:

1、监听滑动的4个方向:上、下、左、右;

2、监听多个手指收缩还是外张;

3、支持单手指或双手指触摸事件;

4、支持单击事件touchSwipe对象和它的子对象;

5、可定义临界值和最大时间来判断手势的实际滑动;
6、滑动事件有4个触发点:“开始”,“移动”,“结束”和“取消”;

7、结束事件可以在手提释放或是快速达到临界值时触发;

8、允许手指刷和页面滚屏;

9、可禁用户通过输入元素(如:按钮、表单、文本框等)触发事件;

引入核心文件

<script type="text/javascript" src="http://libs.useso.com/js/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript" src="jquery.touchSwipe.min.js"></script>


写入CSS文件

* { margin: 0; padding: 0; }
html, body { width: 100%; height: 100%; overflow: hidden; }
.container { width: 100%; height: 100%; position: absolute; left: 0; top: 0%; }
.container .page { height: 100%; position: relative; color:#fff;text-align:center; }
.container .page h2{padding-top:120px; line-height:50px; color:#666;}
.container .page p{text-align:center; color:#aaa;}
.container .page0{background:url(p_w_picpaths/1.jpg) center center no-repeat;}
.container .page1{background:url(p_w_picpaths/2.jpg) center center no-repeat;}
.container .page2{background:url(p_w_picpaths/3.jpg) center center no-repeat;}
.container .page3{background:url(p_w_picpaths/4.jpg) center center no-repeat;}

写入JS实现效果

  $(document).ready(
        function() {
            var nowpage = 0;
            //给class为container的容器加上触滑监听事件
            $(".container").swipe(
                {
                    swipe:function(event, direction, distance, duration, fingerCount) {//事件,方向,距离(像素为单位),时间,手指数量
                         if(direction == "up")//当向上滑动手指时令当前页面记数器加1
                         {
                            nowpage = nowpage + 1;
                         }
                         else if(direction == "down")//当向下滑动手指时令当前页面记数器减1
                         {
                            nowpage = nowpage - 1;
                         }
 
                         if(nowpage > 4)//因本实例只有5张图片,所以当记数器大于4时令他返回4(从0开始记),避免溢出出错
                         {
                            nowpage = 4;
                         }
 
                         if(nowpage < 0)//道理同上
                         {
                            nowpage = 0;
                         }
                        $(".container").animate({"top":nowpage * -100 + "%"},400);//根据当前记数器滚动到相应的高度
                    }
                }
            );
        }
    );


返回web开发教程...