javascript - 如何仅在移动设备上停止轮播自动滑动?

标签 javascript jquery html css twitter-bootstrap

我正在尝试停止我的旋转木马以仅针对移动设备自动滑动。我试图通过 js 更改数据间隔,但由于某种原因它不起作用。知道怎么做吗? 这是我的轮播 html 代码:

<div id="x-corp-carousel" class="carousel slide hero-slide hidden-xs" data-ride="carousel"> 
        <!-- Indicators -->
        <ol class="carousel-indicators">
          <li data-target="#x-corp-carousel" data-slide-to="0" class="active"></li>
          <li data-target="#x-corp-carousel" data-slide-to="1"></li>
          <li data-target="#x-corp-carousel" data-slide-to="2"></li>
          <li data-target="#x-corp-carousel" data-slide-to="3"></li>
          <li data-target="#x-corp-carousel" data-slide-to="4"></li>
        </ol>

        <!-- Wrapper for slides -->
        <div class="carousel-inner index-only" role="listbox">
          <div class="item active"> <img src="img/hero-slide-2.jpg" alt="..."> 
            <!-- <div class="carousel-caption">
              <h1>Revitalize Your Body and Mind Strengthen Immunity and Recover Faster </h1>
            </div>--> 
          </div>
          <div class="item"> <img src="img/hero-slide-3.jpg" alt="..."> 
            <!--<div class="carousel-caption">
              <h1> Feel Energized and Focused All Day Boost Performance and Mental Clarity </h1>
            </div>--> 
          </div>
          <div class="item"> <img src="img/hero-slide-nighfall.jpg" alt="..."> 
            <!-- <div class="carousel-caption">
              <h1>Relax with Premium Hemp Extract Fall Asleep Faster and Wake Up Rested </h1>
            </div>--> 
          </div>
          <div class="item"> <img src="img/hero-slide-1-thrive.jpg" alt="..."> 
            <!-- <div class="carousel-caption">
              <h1>Relax with Premium Hemp Extract Fall Asleep Faster and Wake Up Rested </h1>
            </div>--> 
          </div>
          <div class="item"> <img src="img/hero-slide-4d.jpg" alt="..."> 
            <!-- <div class="carousel-caption">
              <h1>Relax with Premium Hemp Extract Fall Asleep Faster and Wake Up Rested </h1>
            </div>--> 
          </div>
        </div>

        <!-- Controls --> 
      </div>
      <!-- #x-corp-carousel-->

最佳答案

首先尝试从 html 中删除 data-ride="carousel",然后使用一些您愿意禁用 slider 的自定义 width,如下所示: (自定义 BP var 是断点)

// set breakpoint width
var BP = 900;

// start carousel
$('.carousel').carousel({ interval: (window.innerWidth<BP)?false:5000 });

// if user rotates phone orientation | window resite
$(window).on('resize', function(ev){
  if( window.innerWidth < BP ){ 
    $('.carousel').carousel({ interval: false });
  } else {
    $('.carousel').carousel({ interval: 5000 });
  }
})
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>


<div id="x-corp-carousel" class="carousel slide hero-slide hidden-xs"> 
        <!-- Indicators -->
        <ol class="carousel-indicators">
          <li data-target="#x-corp-carousel" data-slide-to="0" class="active"></li>
          <li data-target="#x-corp-carousel" data-slide-to="1"></li>
          <li data-target="#x-corp-carousel" data-slide-to="2"></li>
          <li data-target="#x-corp-carousel" data-slide-to="3"></li>
          <li data-target="#x-corp-carousel" data-slide-to="4"></li>
        </ol>

        <!-- Wrapper for slides -->
        <div class="carousel-inner index-only" role="listbox">
          <div class="item active"> <img src="http://via.placeholder.com/940x480/333" alt="..."> 
            <!-- <div class="carousel-caption">
              <h1>Revitalize Your Body and Mind Strengthen Immunity and Recover Faster </h1>
            </div>--> 
          </div>
          <div class="item"> <img src="http://via.placeholder.com/940x480/333" alt="..."> 
            <!--<div class="carousel-caption">
              <h1> Feel Energized and Focused All Day Boost Performance and Mental Clarity </h1>
            </div>--> 
          </div>
          <div class="item"> <img src="http://via.placeholder.com/940x480/333" alt="..."> 
            <!-- <div class="carousel-caption">
              <h1>Relax with Premium Hemp Extract Fall Asleep Faster and Wake Up Rested </h1>
            </div>--> 
          </div>
          <div class="item"> <img src="http://via.placeholder.com/940x480/333" alt="..."> 
            <!-- <div class="carousel-caption">
              <h1>Relax with Premium Hemp Extract Fall Asleep Faster and Wake Up Rested </h1>
            </div>--> 
          </div>
          <div class="item"> <img src="http://via.placeholder.com/940x480/333" alt="..."> 
            <!-- <div class="carousel-caption">
              <h1>Relax with Premium Hemp Extract Fall Asleep Faster and Wake Up Rested </h1>
            </div>--> 
          </div>
        </div>

        <!-- Controls --> 
      </div>
      <!-- #x-corp-carousel-->

关于javascript - 如何仅在移动设备上停止轮播自动滑动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47749417/

相关文章:

javascript - jQuery 表单后将 bool 复选框转换为 "on"和 "off"?

javascript - 从 Bootstrap Modal 中删除 MediaElement.js

javascript - 在 Highchart 堆栈列总计中鼠标悬停时显示工具提示

javascript - 如何根据 ajax 调用的成功或错误返回表单的 "onsubmit"属性的 bool 值?

javascript - 为什么我的 Google Plus javascript 无法验证?

javascript - 如何在 json 数组中定义重复的键?

javascript - 基于视口(viewport)大小的工具提示动态放置在 Bootstrap 3 中不起作用

javascript - ExtJS:将预先存在的 div 包装到 Extjs 容器中

php - 如何将数据从 JavaScript 传输到 PHP?

html - 将背景颜色扩展到整个 html 电子邮件