0 jquery attributes fancybox alt fancybox-2
抱歉我的英文不好,我是法国人,我对新版本的Fancybox有疑问.
我的图片的alt属性已正确插入到我的HTML中,但它没有出现在Fancybox的HTML代码中:
<div class="fancybox-inner" style="overflow: visible; width: 521px; height: 521px;"><img alt="" src="images_produits/gigoteuse-naissance-badou-z.jpg" class="fancybox-image"></div>
Run Code Online (Sandbox Code Playgroud)
默认情况下,新版本模板上的alt属性为空:alt =""(jquery.fancybox.js)如何解决此问题?谢谢你的帮助.
我担心你必须将alt属性的值推入.fancybox-image选择器.
您可以从缩略图中的alt属性获取该值, img如:
<a href="big_image.jpg" class="fancybox"><img alt="one" src="thumb_image.jpg" /></a>
Run Code Online (Sandbox Code Playgroud)
或者来自data锚点中的属性:
<a data-alt="alt for fancybox one" href="big_image.jpg" class="fancybox"><img alt="one" src="thumb_image.jpg" /></a>
Run Code Online (Sandbox Code Playgroud)
然后使用beforeShow回调来设置它们中的任何一个.您可以优先考虑alt缩略图中的data属性或锚点中的属性,无论哪种方式更适合您:
$(".fancybox").fancybox({
beforeShow: function () {
var imgAlt = $(this.element).find("img").attr("alt");
var dataAlt = $(this.element).data("alt");
if (imgAlt) {
$(".fancybox-image").attr("alt", imgAlt);
} else if (dataAlt) {
$(".fancybox-image").attr("alt", dataAlt);
}
}
});
Run Code Online (Sandbox Code Playgroud)
如果它们都不存在,那么altof .fancybox-image将在模板中保持为空.
请参阅JSFIDDLE