Owl Carousel 2 - 获取当前幻灯片的 src
Owl Carousel 2 - Get src of current slide
我有以下代码块。我想要做的就是在幻灯片放映中获取当前图像的 src。它不起作用,尽管它可以很好地更改幻灯片,但控制台中什么也没有出现。
HTML:
<div id="banner" class="owl-carousel">
<img src="template/banner-1.jpg" alt="">
<img src="template/banner-2.jpg" alt="">
<img src="template/banner-1.jpg" alt="">
<img src="template/banner-2.jpg" alt="">
</div>
jQuery:
var owl = $(".owl-carousel");
owl.owlCarousel({
loop: true,
autoplay: true,
items: 1,
animateOut: 'fadeOut',
onChange: function (elem) {
var current = this.currentItem;
var src = elem.find(".owl-item").eq(current).find("img").attr('src');
console.log('Image current is ' + src);
}
});
您的代码无法正常工作的原因是没有为 Owl 轮播定义 onChange 回调。
请参阅回调标题下的 http://owlgraphic.com/owlcarousel/#customizing 了解可用选项。
如果您将其更新为使用 "afterMove",它将在移动幻灯片后正常工作。
您可能还想考虑使用 "afterAction",它会根据您的要求在启动、移动和更新时触发。
JS
var owl = $(".owl-carousel");
owl.owlCarousel({
loop: true,
autoplay: true,
items: 1,
animateOut: 'fadeOut',
afterMove: function (elem) {
var current = this.currentItem;
var src = elem.find(".owl-item").eq(current).find("img").attr('src');
console.log('Image current is ' + src);
}
});
编辑
在进一步阅读 owl 轮播 2 的评论和文档中提供的 link 之后,这里是一个使用 owl 轮播 2 的工作示例。请参阅此 jsfiddle
与 Beta 版中的任何内容一样,github 问题和答案可能很快就会过时。从 owl carousel 2 站点 here
上的文档中找到解决方案
HTML
<div id="banner" class="owl-carousel">
<img src="http://www.live-on-the-edge.com/wp-content/uploads/2014/06/Sam-Tomkins-730x547.jpg" alt=""/>
<img src="http://static.guim.co.uk/sys-images/Sport/Pix/pictures/2009/6/11/1244720277422/Aussie-Rugby-League-001.jpg" alt=""/>
<img src="http://static.guim.co.uk/sys-images/Sport/Pix/pictures/2010/1/7/1262873655905/Rugby-referee-001.jpg" alt=""/>
<img src="http://static.guim.co.uk/sys-images/Sport/Pix/columnists/2011/3/3/1299187263691/football-league-premier-l-007.jpg" alt=""/>
</div>
JS
var owl = $(".owl-carousel");
owl.owlCarousel({
loop: true,
autoplay: true,
items: 1,
animateOut: 'fadeOut'
});
// jQuery method on
owl.on('changed.owl.carousel',function(property){
var current = property.item.index;
var src = $(property.target).find(".owl-item").eq(current).find("img").attr('src');
console.log('Image current is ' + src);
});
我有以下代码块。我想要做的就是在幻灯片放映中获取当前图像的 src。它不起作用,尽管它可以很好地更改幻灯片,但控制台中什么也没有出现。
HTML:
<div id="banner" class="owl-carousel">
<img src="template/banner-1.jpg" alt="">
<img src="template/banner-2.jpg" alt="">
<img src="template/banner-1.jpg" alt="">
<img src="template/banner-2.jpg" alt="">
</div>
jQuery:
var owl = $(".owl-carousel");
owl.owlCarousel({
loop: true,
autoplay: true,
items: 1,
animateOut: 'fadeOut',
onChange: function (elem) {
var current = this.currentItem;
var src = elem.find(".owl-item").eq(current).find("img").attr('src');
console.log('Image current is ' + src);
}
});
您的代码无法正常工作的原因是没有为 Owl 轮播定义 onChange 回调。
请参阅回调标题下的 http://owlgraphic.com/owlcarousel/#customizing 了解可用选项。
如果您将其更新为使用 "afterMove",它将在移动幻灯片后正常工作。
您可能还想考虑使用 "afterAction",它会根据您的要求在启动、移动和更新时触发。
JSvar owl = $(".owl-carousel");
owl.owlCarousel({
loop: true,
autoplay: true,
items: 1,
animateOut: 'fadeOut',
afterMove: function (elem) {
var current = this.currentItem;
var src = elem.find(".owl-item").eq(current).find("img").attr('src');
console.log('Image current is ' + src);
}
});
编辑
在进一步阅读 owl 轮播 2 的评论和文档中提供的 link 之后,这里是一个使用 owl 轮播 2 的工作示例。请参阅此 jsfiddle
与 Beta 版中的任何内容一样,github 问题和答案可能很快就会过时。从 owl carousel 2 站点 here
上的文档中找到解决方案 HTML<div id="banner" class="owl-carousel">
<img src="http://www.live-on-the-edge.com/wp-content/uploads/2014/06/Sam-Tomkins-730x547.jpg" alt=""/>
<img src="http://static.guim.co.uk/sys-images/Sport/Pix/pictures/2009/6/11/1244720277422/Aussie-Rugby-League-001.jpg" alt=""/>
<img src="http://static.guim.co.uk/sys-images/Sport/Pix/pictures/2010/1/7/1262873655905/Rugby-referee-001.jpg" alt=""/>
<img src="http://static.guim.co.uk/sys-images/Sport/Pix/columnists/2011/3/3/1299187263691/football-league-premier-l-007.jpg" alt=""/>
</div>
JS
var owl = $(".owl-carousel");
owl.owlCarousel({
loop: true,
autoplay: true,
items: 1,
animateOut: 'fadeOut'
});
// jQuery method on
owl.on('changed.owl.carousel',function(property){
var current = property.item.index;
var src = $(property.target).find(".owl-item").eq(current).find("img").attr('src');
console.log('Image current is ' + src);
});