我正在关注这个例子:
http://bxslider.com/examples/perform-action-transition-callback
但是通过这个例子,我可以从当前图像中获取索引号。
我有这段代码:
$('#preview_images_gallery').bxSlider({
onAfterSlide: function(totalSlides, currentSlide){
var src = $('currentSlide').attr('src');
$('.preview .bx-wrapper .bx-window').append('<p class="check">' + src);
}
});
如何获取当前图像的src属性?
我写道:
var src = $(currentSlide).attr('src');
但我未定义!
谢谢!
答案 0 :(得分:5)
查看API
onBeforeSlide / onAfterSlide都使用下面的相同签名,您可以在第3个参数中访问幻灯片对象。您可以从
获取幻灯片内容的详细信息function(currentSlideNumber, totalSlideQty, currentSlideHtmlObject){
// perform actions here
}
答案 1 :(得分:1)
var source = $('img').attr('src');
没有经过测试,也没有很高效,但这样的事情可能有用,可能需要一些调整。
var images = [], source="";
$('#slider1').bxSlider({
pager: true,
onBeforeSlide: function(currentSlide, totalSlides){
$('img', this).each(function() {
images.push(this);
});
source = $(images[currentSlide]).attr('src');
}
});
alert(source);
如果宏是正确的,那将是:
$('#slider1').bxSlider({
pager: true,
onBeforeSlide: function(currentSlide, totalSlides, SlideObject){
source = SlideObject.attr('src');
}
});
alert(source);
答案 2 :(得分:1)
获取任何jquery元素的属性,您可以使用:
$('.selector').attr(attrName);
在你的情况下,像这样......
$('.slider1 .left').find('img').attr('src');
甚至更重要的是:
jQuery('#slider1').find('li.pager:nth-child(currentSlide)').attr('src');
你必须自己找到最优雅的方式,但是建议使用.attr(attrName)
的所有答案都是正确的,你只需要找到正确的元素选择器。
答案 3 :(得分:1)
这将取决于你的实际html标记,但假设你使用li
元素创建幻灯片,那么下面应该做的技巧(slider1是容器ol / ul id)
$($('#slider1 li')[currentSlide - 1]).find('img').attr('src');
基本上,我们使用索引(currentSlide - 1)找到slide(li)元素,然后在幻灯片中查找图像以获取其source属性。现在,如果幻灯片中有多个图像,则上面的图像可能无法正常工作。
答案 4 :(得分:0)
试试这可能会对你有所帮助
document.getElementById("currentSlide_id").src;
var src= $('currentSlide_id').attr('src')
答案 5 :(得分:0)
怎么样
$('#sliderContainer').children().eq(currentSlide).find('img').attr('src')
在链接的示例中,这将是
$('#slider1').children().eq(currentSlide).find('img').attr('src')