jCarousel:获取当前显示的图像的文件名(路径)(一次只显示一个)
jCarousel: Get the filename (path) of the image which is currently shown (only one at a time)
在滑块附近有一个放大按钮。现在我想为我的fancybox更改锚的href
属性。出于这个原因,我需要获得jCarousel的当前图像。由于文件路径总是相同的,我不需要路径,但如果我得到path + filename也可以。我想我必须遍历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中显示的元素应该在fanybox中放大。所以我必须寻找另一种可能性
如果我理解了你的意思,这应该可以工作:
function getCurrImage(carousel, state){
var currentImage = carousel.first;
var path = $(".jcarousel-item").eq(currentImage).attr("src");
$("A.enlarge").attr("href", path);
}
相关文章:
- ¿如何每天只显示一次特定的容器
- 谷歌图表在运行应用程序时只能显示一次
- 点击时的qtip2只显示一次
- 每个用户只显示一次放大弹出窗口
- Bootstrap Alert只显示一次
- 每次访问显示一次警报
- 每个用户仅显示一次弹出窗口
- Jquery 循环一次或在数据数组中显示一次数据
- 按钮仅显示一次图像
- 弹出窗口不会根据需要在每个会话中显示一次(如客户端所述)
- Bootstrap Modal仅显示一次
- 每隔X秒显示一次警报框,但请先等待Y秒
- jQuery UI对话框在页面上只显示一次
- 每 3 小时显示一次对话框
- 背景图像旋转器.php + jQuery每4秒显示一次随机照片
- Lightswitch HTML 自定义控件仅显示一次
- 我如何让通知栏在每个会话中仅显示一次
- 如何让网页显示一次,并且不再向用户显示
- 使我的简介页面仅按用户或计算机显示一次
- 动画 GIF 背景仅显示一次