我实现了巨大的[galleriffic] [0] - jQuery插件,并想在每张图片上设置一个类似Facebook的按钮。 现在我在onSlideChange()中尝试了它 - 这样的函数:
$(".fb-like").attr("data-href","http://ulc.local/galerie/25#"+nextIndex);
但没有成功。只要我点击一个像按钮,其他图片上的所有其他按钮也会启用。
非常感谢任何帮助。
编辑:这是一些代码:
<div id="gallery" class="content-image">
<div class="border-left"></div>
<div class="slideshow-container">
<div id="loading" class="loader"></div>
<div id="slideshow" class="slideshow">
<div id="slide-container">
<div id="slider">
<div id="title"></div>
<div id="share">
<div class="fb-like" data-send="false" data-layout="button_count" data-width="150" data-show-faces="true"></div>
<div id="spacer"></div>
<a href="https://twitter.com/share" class="twitter-share-button" data-lang="en" data-count="none"></a>
</div>
</div>
</div>
</div>
</div>
<div class="border-right"></div>
</div>
<div style="clear:both"></div>
类似“fb-like”的div应显示按钮。 现在我尝试在onSlidechange()中替换这个div:
onSlideChange:function(prevIndex, nextIndex) {
// 'this' refers to the gallery, which is an extension of $('#thumbs')
this.find('ul.thumbs').children()
.eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
.eq(nextIndex).fadeTo('fast', 1.0);
newUrl = "http://ulc.local/galerie/25/";
$(".fb-like").replaceWith("<div class='fb-like' data-href='http://ulc.local/galerie/25#' "+nextIndex+" data-send='false' data-layout='button_count' data-width='150' data-show-faces='true'></div>");
}
我想要制作几个相似的按钮,我会在用户点击下一个图像时立即更改data-href属性。不幸的是,没有按钮显示。
答案 0 :(得分:1)
不知道你是否已经设法解决了这个问题,但如果你还没有,我建议你使用iframe版本的Facebook按钮代替。
然后,您可以使用PHP(或其他一些服务器端脚本)动态更改facebook“like”url。
我遇到了和你之前描述的完全相同的问题,但这解决了我的问题(虽然我宁愿不使用iframe版本,但至少我设法让它与Galleriffic一起工作)。
答案 1 :(得分:0)
您的选择器正在按类抓取,这意味着您的属性更改将会遍历该类的所有元素。您需要找到一种方法来唯一标识要修改的元素。如果您从click事件和一些有用的html结构中发布更多代码。