使用Layui做轮播图时,发现移动端没有手势左右滑动效果,下面的方法就能有效解决这个问题,请看代码:
<!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="./layui/css/layui.css"> </head> <body> <div id="test1" class="layui-carousel"> <div carousel-item> <img src="./psb.jpg"> <img src="./psb.jpg"> </div> </div> </body> <script type="text/javascript" src="./layui/layui.js"></script> <style type="text/css"> #test1 img{ width:100%; height:100%; } </style> <script type="text/javascript" src="./jquery.js"></script> <script type="text/javascript"> var ins; layui.use(['carousel', 'form'], function () { var carousel = layui.carousel; ins = carousel.render({ elem: '#test1' , width: '500px' , height: '200px' , interval: 4000 // , arrow: 'none' //始终不显示箭头 }); }); $("#test1").on("touchstart", function (e) { var startX = e.originalEvent.targetTouches[0].pageX;//开始坐标X $(this).on('touchmove', function (e) { arguments[0].preventDefault();//阻止手机浏览器默认事件 }); $(this).on('touchend', function (e) { var endX = e.originalEvent.changedTouches[0].pageX;//结束坐标X e.stopPropagation();//停止DOM事件逐层往上传播 if (endX - startX > 30) { ins.slide("sub"); } else if (startX - endX > 30) { ins.slide("add"); } $(this).off('touchmove touchend'); }); }); </script> </html>
版权声明:本站部分内容来自互联网,若涉及版权问题请及时通知我们,我们将及时予以删除!谢谢大家的理解与支持!
发表评论