使用fanybox rel=group上的一个img和jQuery img src更改
using fancybox rel=group on one img and jQuery img src change
我有一个非常具体的问题是关于fanybox的。我的标记是这样的:
<a id="fancy_link" class="fancybox" href="image.jpg" rel="group">
<img id="image" src="image.jpg" style="height: 500px;">
</a>
到目前为止,它是一个工作良好的图像。但是,由于我有很多图像(200),我想分组,并不想在标记中硬编码每一个我使用一个简单的jQuery函数:
function changeImg(e, f) {
$('#fancy_link').attr('href', e[f].img);
$("#image").attr('src', e[f].img);
}
e
和f
是保存在名为.img
的Array对象中的图像链接
所以我现在的问题是,如果你知道我如何处理它,fancybox创建组元素,即使标记中只有一个<img>
元素,当我点击前一个和下一个按钮时,它会浏览所有图像。
看了你的评论,我明白你的意思了。这很奇怪,如果你不知道这段代码,你会觉得有点意外。我假设你只想显示第一个:
<div>
<img src="1.jpg" alt="img1" rel="group1" />
<img src="2.jpg" alt="img2" rel="group1" />
<img src="3.jpg" alt="img3" rel="group1" />
<img src="4.jpg" alt="img4" rel="group1" />
<img src="5.jpg" alt="img5" rel="group1" />
</div>
div img{ display: none; }
div img:nth-child(1){ display: inline-block;}
这段代码对其他用户更有意义。这里的优点是所有的图像都会预加载。这里的缺点是,所有的图像将预加载(我知道,双重)。您有大量的图像,这可能会占用用户的带宽。
如果数组中所有的路径都位于图像的顶部,你可以这样做:
$.each(imageArr, function(key,image){
$img = $( document.createElement('img') );
$img[0].src = image.img; // img is the key in the object
$('div').append($img);
})
这有点复杂,可能会使一些事件处理复杂化,但您确实可以更好地控制加载的图像。你可以把这个改成一次加载两个然后再加载下一个
相关文章:
- 使用javascript或angularjs特定过滤器搜索字符串中第一个img标记的json值
- 如何在cycle2.js中悬停img时同时显示上一个/下一个按钮
- 如何在页面顶部放置一个绝对定位的img
- 我希望这个img类是一个按钮,当你点击它时,它会播放hello.mp3
- 从javascript对象中获取一个src-img,并将其放入HTML中
- 如何读取存储在图像的数据src中的URL,并在另一个img控制器的src中设置该URL onclick
- CSS在IMG周围添加一个胖“框架”,而不改变IMG的位置
- 如何在 jQuery 中的 img.onload = function() 中返回一个变量
- Javascript获取img的宽度和高度,并将其放入另一个类的css中
- 如何在TR的最后一个TD中添加事件或将ID属性添加到IMG标签
- 使用 javascript 和正则表达式删除 HTML 字符串中的第一个 img 标记
- 如何编写一个 JS 函数,该函数在
- 类中查找 img,并将该图像作为 li 的 css 中的背景图像值
- 一个带有img的包装器是如何占据所有屏幕的
- on单击用多个值中的一个替换img src路径的/sgment/
- Javascript创建只有一个维度集的img会导致IE中的拉伸
- 在悬停另一个ID时更改ID img src
- Snap.load()一个svg img并为其填充颜色设置动画's子节点
- 如何通过ng-click更改另一个img上的ng-src
- 若页面上当前存在一个img src,则将类应用于该img
- Javascript显示一个接一个带有间隔的img