0

私は素晴らしい [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 属性を変更します。残念ながら、ボタンは表示されません。

4

2 に答える 2

1

この問題を解決できたかどうかはわかりませんが、そうでない場合は、代わりに Facebook ボタンの iframe バージョンを使用することをお勧めします。

次に、代わりに PHP (または他のサーバー側スクリプト) を使用して、facebook の「いいね」URL を動的に変更できます。

以前に説明したのとまったく同じ問題がありましたが、これで問題が解決しました(ただし、iframeバージョンは使用したくありませんが、少なくともGallerifficで動作させることができました)。

于 2012-05-09T21:18:12.573 に答える
0

セレクターはクラスごとに取得しています。つまり、属性の変更は、そのクラスのすべての要素に波及します。変更する要素を一意に識別する方法を見つける必要があります。クリックイベントからさらにコードを投稿すると、役立つHTML構造がいくつかあります。

于 2012-04-04T13:54:44.063 に答える