滑块附近有一个放大按钮。现在我想为我的fancybox更改锚点的href
属性。出于这个原因,我需要获取jCarousel的当前图像。由于文件路径总是相同的,我不需要路径,但如果我得到路径+文件名,它也可以。我想我必须遍历DOM并设置锚点的href属性。
这是我到目前为止所做的:
function getCurrImage(carousel, state){
/*alert(carousel.first);*/
}
jQuery(document).ready(function() {
jQuery('#mycarousel').jcarousel({
scroll:1,
'itemLoadCallback': getCurrImage
});
});
这给出了滑块中当前图片的索引(例如1)。此函数也被多次调用(不知道为什么)。这是我的伪代码:
var imagepath = jQuery.find(".jcarousel-item:nth-child(carousel.first)".a.img.attr("src");
jQuery.find(a.enlarge).attr("href",imagepath);
这会有用吗?
修改:
这似乎有效:
function getCurrImage(carousel, state){
var currentImage = carousel.first-1;
var path = jQuery(".jcarousel-item").eq(currentImage).children('a').attr("href");
jQuery("A.enlarge").attr("href", path);
}
但我的想法没有像预期的那样奏效。通常我的画廊中有三个项目。现在我在fancybox中有四个(重复内容),我在最后一个位置。我希望只有三个元素,目前在jCarousel中显示的元素应该在fancybox中放大。所以我必须寻找另一种可能性......
答案 0 :(得分:1)
如果我明白你的意思,这应该有效:
function getCurrImage(carousel, state){
var currentImage = carousel.first;
var path = $(".jcarousel-item").eq(currentImage).attr("src");
$("A.enlarge").attr("href", path);
}