12

我正在为我的滑块使用OWL Carousel

我要做的是在单击下一个上一个时滑动 2 个项目。

所以它在传输过程中滑动到每隔一个项目仍然显示第二个项目。

我试图用 CSS 解决它,但没有成功。

这是我的基本设置

$("#owl-demo").owlCarousel({

  navigation : true, // Show next and prev buttons
  slideSpeed : 600,
  paginationSpeed : 400,
  singleItem:true,

  // "singleItem:true" is a shortcut for:
  // items : 2 
  // itemsDesktop : false,
  // itemsDesktopSmall : false,
  // itemsTablet: false,
  // itemsMobile : false

});

非常感谢任何帮助。

提前致谢。

4

8 回答 8

28

不要更改插件代码,您只需要使用如下所述的 slideBy 选项初始化轮播。

//Initialize Plugin
$(".owl-carousel").owlCarousel(
  {
    slideBy: 4
  }
);
于 2015-09-08T05:21:38.277 回答
17
scrollPerPage : true

这可能会有所帮助

于 2014-08-06T17:18:04.060 回答
8
jQuery(".view-id-frontpage .view-content").owlCarousel( {
  items: 2,
  itemsDesktop : [1000,2], // 2 items between 1000px and 901px
  itemsDesktopSmall : [900,2], // betweem 900px and 601px
  itemsTablet: [700,1], // 2 items between 600 and 480
  itemsMobile : [479,1] , // 1 item between 479 and 0
  navigation: true,
  lazyLoad: true,
  pagination: false,
  scrollPerPage : true
});

这对我有帮助。

于 2015-02-12T07:32:38.437 回答
4

在当前版本的 Owl Carousel (1.3.2) 中,找到“owl.carousel.js”文件并滚动到第 558 行。该行将显示:

base.currentItem += base.options.scrollPerPage === true ? base.options.items : 1;

将最后一个数字更改为“2”,使其显示为:

base.currentItem += base.options.scrollPerPage === true ? base.options.items : 2;

保存文件,这应该使滑块移动两个项目。

于 2014-02-21T23:59:54.453 回答
3
Slide 2 items in OWL Carousel

Check this Example

http://jsfiddle.net/k0nn7yw5/107/

于 2016-10-10T12:43:25.807 回答
3

您可以轻松添加

slideBy: 2

https://owlcarousel2.github.io/OwlCarousel2/docs/api-options.html

于 2018-11-29T03:21:19.407 回答
2

上述答案很有帮助,但并不完整。

替换owl.carousel.js中的第 558 行:

base.currentItem += base.options.scrollPerPage === true ? base.options.items : 2;

将owl.carousel.js中的第 559 行替换为:

if (base.currentItem > base.maximumItem + (base.options.scrollPerPage === true ? (base.options.items - 1) : 0)) {

当您单击下一步时,这将使轮播滚动 2,但您仍然需要考虑用户单击上一个按钮时的情况。以下将做到这一点

将owl.carousel.js中的第 581 行替换为:

base.currentItem -= base.options.scrollPerPage === true ? base.options.items : 2;

现在,您需要在轮播中考虑奇数个项目,以便它会一直点击每个项目。

在上一步代码的正下方添加第582行的这段代码:

if (base.currentItem === -1) base.currentItem = 0;

我希望这会有所帮助。

于 2015-12-16T17:17:28.277 回答
1

对于下一步按钮,

//base.currentItem += base.options.scrollPerPage === true ? base.options.items : 1;
To
base.currentItem += base.options.scrollPerPage === true ? base.options.items : 2;

对于上一个按钮,

//base.currentItem -= base.options.scrollPerPage === true ? base.options.items : 1;
To
base.currentItem -= base.options.scrollPerPage === true ? base.options.items : 2;
于 2014-03-24T10:24:34.257 回答