zoukankan      html  css  js  c++  java
  • Bootstrap幻灯轮播如何支持触屏左右滑动手势?

    Bootstrap能自适应pc端和手机端,并且移动设备优先,适合现如今移动营销。bootstrap是封装好的框架,需要某些功能只需调用相应的组件就可以,但有些还是没加入,比如幻灯轮播触屏左右滑动手势就不支持,大家用的设备基本是触屏的了,能用滑动交互在小屏幕上体验会更好,那么如何实现呢?一个比较简单的方法是增加一个滑动手势js插件:hammer.js,网上有很多cdn调用地址,像//cdn.bootcss.com/hammer.js/2.0.8/hammer.min.js,我们在head中加载一下然后再通过javascript把swipe功能调用出来就可以了。下面是幻灯片的原始html代码

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

      关键的步骤来了,我们需要写一个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,否则可能在电脑上可以实现手势滑动,而在手机上无法触摸滑动
  • 相关阅读:
    图解:在资深架构师眼中的架构应该是怎样的?
    面试必看|面试官之间的“潜规则”
    职业规划:专属程序员的巡礼之年
    互联网企业如何应对网站架构演化带来的“蝴蝶效应”
    阿里首席架构师,是如何选择并落地架构方案的
    你真的了解微服务架构吗?听听八年阿里架构师怎样讲述Dubbo和Spring Cloud微服务架构
    大型分布式电商系统架构演进史?
    大厂面试官:Java工程师的“十项全能”
    打包签名时出现Conversion to Dalvik format failed with error 1
    Android项目混淆打包
  • 原文地址:https://www.cnblogs.com/turbo12138/p/6531761.html
Copyright © 2011-2022 走看看