0

同じIDのボタンがいくつかあります-previewPhoto。ファンシーボックスを使用して写真を表示しています。しかし、すべてのボタンは同じ画像を表示します。どこで問題が発生する可能性がありますか?私の「写真」と「id」変数は異なります。

$(function() {
    $('button#previewPhoto').each(function() {
        photo = $(this).val();
        id = $(this).attr("title");
        link = 'http://domain.com/members/photos/'+id+'/'+photo;
        $(this).click(function() {
            $.fancybox({
                //'orig'            : $(this),
                'padding'       : 0,
                'href'          : link,
                'transitionIn'  : 'elastic',
                'transitionOut' : 'elastic'
            });
        });
    });
});
4

1 に答える 1

1

あなたは必要ありません.each()、単にこれをしてください:

jQuery(function ($) {
    $(".previewPhoto").on("click", function () {
        var photo = $(this).val(),
            id = this.title,
            link = 'http://farm8.staticflickr.com/' + id + '/' + photo;
        $.fancybox(link, {
            // API options here
        });
    });
});

JSFIDDLEを参照してください

.on()jQuery v.1.7+が必要です

于 2013-10-03T18:16:07.120 に答える