bootstrap轮播图实现移动端滑动手势切图

bootstrap轮播图实现移动端滑动手势切图

最近使用bootstrap做响应式开发的时候,发现一只主打移动设备优先的bootstrap竟然轮播图没有支持移动端滑动手势,很是苦恼!!!!

网上取经得来经验,很不错的办法,记录一下,以备日后之需。

一个比较简单的方法是增加一个滑动手势js插件:hammer.js,网上有很多cdn调用地址,像//cdn.bootcss.com/hammer.js/2.0.8/hammer.min.js,我们在head中加载一下然后再通过javascript把swipe功能调用出来就可以了。下面是幻灯片的原始html代码

"carousel" class="carousel slide" id="carousel-example-generic">
    "carousel-indicators">
  1. "" data-slide-to="0" data-target="#carousel-example-generic">
  2. "1" data-target="#carousel-example-generic" class="active">
  3. "2" data-target="#carousel-example-generic" class="">
"listbox" class="carousel-inner">
"item"> <span"First slide" src="http://ibootstrap-file.b0.upaiyun.com/lorempixel.com/1600/500/sports/1/default.jpg" data-holder-rendered="true">
"item active"> <span"Second slide [1140x500]" src="http://ibootstrap-file.b0.upaiyun.com/lorempixel.com/1600/500/sports/2/default.jpg" data-holder-rendered="true">
"item"> <span"Third slide [1140x500]" src="http://ibootstrap-file.b0.upaiyun.com/lorempixel.com/1600/500/sports/3/default.jpg" data-holder-rendered="true">
"prev" role="button" href="#carousel-example-generic" class="left carousel-control"> "true" class="glyphicon glyphicon-chevron-left"> "sr-only">Previous "next" role="button" href="#carousel-example-generic" class="right carousel-control"> "true" class="glyphicon glyphicon-chevron-right"> "sr-only">Next

关键的步骤来了,我们需要写一个javascript命令调用hammer.js中的swipe功能

  <script>
          $(function(){
            var myElement= document.getElementById('carousel-example-generic')
            var hm=new Hammer(myElement);
            hm.on("swipeleft",function(){
                $('#carousel-example-generic').carousel('next')
            })
            hm.on("swiperight",function(){
                $('#carousel-example-generic').carousel('prev')
            })
        })
  </script>

div的id一定要对应,上面是carousel-example-generic,javascript中也要这个,否则不能实现。
  需要注意的是,jquery版本最好是1.9版本的jquery-1.9.1.min.js,否则可能在电脑上可以实现手势滑动,而在手机上无法触摸滑动
  javascript命令这个是关键,不会写不会改就不好玩了。做个标记,方便日后查询
切记引入js代码前要先引入jqurey.js文件。
原文via

你可能感兴趣的:(bootstrap,前端开发)