【问题标题】:idangerous swiper link not working when slide is not on original position当幻灯片不在原始位置时,危险的滑动链接不起作用
【发布时间】:2013-09-04 12:07:51
【问题描述】:

使用危险的 swiper,请参阅 Slide1 lets go to google。如果 Slide1 位于原始位置(框中的第一个左侧),则指向 google 的链接将始终有效。但是如果我们滑动(或者鼠标左右拖拽)并且Slide1在位置2或者3,点击就不起作用了。

http://jsfiddle.net/C8ytu/

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Demo</title>
  <link rel="stylesheet" href="http://www.idangero.us/sliders/swiper/css/idangerous.swiper.css">
  <style>
/* Demo Styles */
body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  line-height: 1.5;
}
.swiper-container {
  width: 660px;
  height: 250px;
  color: #fff;
  text-align: center;
}
.red-slide {
  background: #ca4040;
}
.blue-slide {
  background: #4390ee;
}
.orange-slide {
  background: #ff8604;
}
.green-slide {
  background: #49a430;
}
.pink-slide {
  background: #973e76;
}
.swiper-slide .title {
  font-style: italic;
  font-size: 42px;
  margin-top: 80px;
  margin-bottom: 0;
  line-height: 45px;
}
.pagination {
  position: absolute;
  z-index: 20;
  left: 10px;
  bottom: 10px;
}
.swiper-pagination-switch {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 8px;
  background: #222;
  margin-right: 5px;
  opacity: 0.8;
  border: 1px solid #fff;
  cursor: pointer;
}
.swiper-visible-switch {
  background: #aaa;
}
.swiper-active-switch {
  background: #fff;
}
  </style>
</head>
<body>
  <div class="swiper-container">
    <div class="swiper-wrapper">
      <div class="swiper-slide red-slide">
        <div class="title"><a href="http://www.google.com" target="_blank">lets go to google</a></div>
      </div>
      <div class="swiper-slide blue-slide">
        <div class="title">Slide 2</div>
      </div>
      <div class="swiper-slide orange-slide">
        <div class="title">Slide 3</div>
      </div>
      <div class="swiper-slide green-slide">
        <div class="title">Slide 4</div>
      </div>
      <div class="swiper-slide pink-slide">
        <div class="title">Slide 5</div>
      </div>
      <div class="swiper-slide red-slide">
        <div class="title">Slide 6</div>
      </div>
      <div class="swiper-slide blue-slide">
        <div class="title">Slide 7</div>
      </div>
      <div class="swiper-slide orange-slide">
        <div class="title">Slide 8</div>
      </div>
    </div>
    <div class="pagination"></div>
  </div>
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://www.idangero.us/sliders/swiper/js/idangerous.swiper.js"></script>

  <script>
  var mySwiper = new Swiper('.swiper-container',{
    pagination: '.pagination',
    paginationClickable: true,
    slidesPerView: 3,
    loop: true
  })
  </script>
</body>
</html>

【问题讨论】:

  • 我根本没有用你的问答,而是你的jsfiddle。了解您如何实现分页对我很有帮助。谢谢!

标签: jquery html swipe swiper


【解决方案1】:

您必须在代码中添加loopAdditionalSlides:3 才能解决您的问题。

请看这里JSFiddle

JS:

var mySwiper = new Swiper('.swiper-container',{
    pagination: '.pagination',
    loopAdditionalSlides:3,    //<-- This one
    paginationClickable: true,
    slidesPerView: 3,
    loop: true
});

loopAdditionalSlides: "创建循环后将克隆的幻灯片的附加数量"

Documentation: Swiper Usage and API

【讨论】:

  • 它工作了一半以上,但仍然不是 100%。如果第一张幻灯片位于位置一:点击谷歌并打开标签。如果第一张幻灯片位于 pos2 或 3,则需要单击两次才能进入 google(虽然只是第一次)。有什么解决办法吗?
  • @caramba - 抱歉,我在最新的 Chrome、Safari 和 FF 上对此进行了测试,没有问题。我滑动一次(使用分页栏或光标)及其位置 2(使用分页栏),然后单击并打开选项卡。我用光标滑动多次,一键打开标签。对我来说现在工作得很好。 :-)
  • 您不必感到抱歉,感谢您的时间和精力!你说的对。另外,如果我使用分页按钮滑动它也可以。但是,如果我每次拖放都用光标滑动,则需要在所有提到的浏览器中双击。 (仍然只是第一次点击)
  • 您是否同意:“如果我每次拖放都用光标滑动,则需要在所有提到的浏览器中双击。” ?
  • @caramba - Nop :-) 如果我这样做:使用 Slide 的光标拖放(在所有提到的浏览器中,无论我这样做多少次),我只点击一次然后打开水龙头。我不t know why in your browser dont 有同样的效果..也许缓存或其他什么...**如果其他人会尝试该代码会很好...**(我在 iMac 和 MacBook Pro 上测试过)
【解决方案2】:

所以似乎在向右滑动标签没有被点击。我只是在这方面帮助你。看一下滑动前的屏幕截图和滑动后的屏幕截图

我更改了一些代码并火了它。看来您的 js 文件正在添加一种对父 div 的点击

<div class="swiper-slide orange-slide swiper-slide-visible swiper-slide-active" style="width: 165px; height: 250px;">
    <div class="title">Slide 8<br><a href="http://www.google.com" target="_blank">lets go to google</a></div>
  </div>

它在父 div 上添加额外的类

swiper-slide-visible swiper-slide-active

但在向左滑动时相同的是不会在任何地方添加任何类。它保留默认类

swiper-slide orange-slide

检查 JS ......我只能指导你 :) 如果你愿意,那就去解决问题,但如果你可以编辑 js 以进行点击,那么请这样做。告诉我这是否不能解决您的问题:)

【讨论】:

  • 谢谢,以前没见过!也许我会找到解决方案。非常感谢
  • 如果你不生病,请告诉我继续探索 :)
  • 对不起,我没有时间早点回顾这个。我没有改变任何东西,现在点击“有点”有效。它仍然感觉有点错误。只需要在这里提一下:如果你向左滑动 id 会完全一样,只是不是幻灯片 Nr.1 导致那个不可见。视图中的三张幻灯片总是添加“swiper-slide-visible”类。
  • 尝试一些解决方法。如果可以访问幻灯片功能,请尝试删除这些类。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多