jQuery-Galleriffic,在每张照片上设置facebook like-button

时间:2012-04-04 13:36:10

标签: jquery

我实现了巨大的[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属性。不幸的是,没有按钮显示。

2 个答案:

答案 0 :(得分:1)

不知道你是否已经设法解决了这个问题,但如果你还没有,我建议你使用iframe版本的Facebook按钮代替。

然后,您可以使用PHP(或其他一些服务器端脚本)动态更改facebook“like”url。

我遇到了和你之前描述的完全相同的问题,但这解决了我的问题(虽然我宁愿不使用iframe版本,但至少我设法让它与Galleriffic一起工作)。

答案 1 :(得分:0)

您的选择器正在按类抓取,这意味着您的属性更改将会遍历该类的所有元素。您需要找到一种方法来唯一标识要修改的元素。如果您从click事件和一些有用的html结构中发布更多代码。