2

私はこれについてほとんど何も知らないので、切実に必要な助けを求めてあなたに頼ります. さらにコードや情報が必要な場合は、お尋ねください。できるだけ早くお答えします。

次のコード スニペットは、フォト ギャラリーに使用するものです。

http://luisposada.co.uk/home/photography-2/

問題は、サムネイルを左から右に移動するとワンクリックでメイン画像の下にキャプションが表示されますが、ダブルクリックすると右から左にしか表示されないことです。サムネイルがどのような順序でクリックされても、1回のクリックでキャプションを変更したいのは明らかです。

どうもありがとうございました。

<script type="text/javascript"> 

$(function() {
   $('#feature').cycle({
       speed:       1000,
       timeout:     <?php echo $speed; ?>
   });

$("#yc_thumbnail_frame a").live("click",function(){
    $(".yc_img_fullsize").each(function(index) {
        if ($(this).is(":visible")) {
            var text = $(this).attr("alt");
            $(".caption").html(text);
        }
    });
  });
});

$(window).load(function() {
   $("img.yc_img_fullsize").each(function(index) {
    if ($(this).is(":visible")) {
        var text = $(this).attr("alt");
        $(this).parent().after("<p class='caption'>" + text + "</p>");
    }
  });

});

</script> 
4

1 に答える 1

1

クリック イベント ハンドラーを次のように変更すると、#yc_thumbnail_frame a問題が解決するはずです。

$("#yc_thumbnail_frame a").live("click",function(){

    // Instead of looking for the visible image, find the one that matches the thumbnail src
    var thumbSrc = $(this).find('img').attr('src');
    $(".yc_img_fullsize").each(function(index) {
        if ($(this).attr('src') == thumbSrc) {
            var text = $(this).attr("alt");
            $(".caption").html(text);
        }
    });
  });
});

現在期待どおりに機能していない理由は、サムネイル リンクの 1 つをクリックすると、すべての大きな画像が循環し、どの画像が表示されているかを判断するためです。表示されているものを見つけると、代替テキストからキャプション テキストを設定します。

大きな画像を表示する設定は、キャプション テキストを決定しようとするよりもわずかに遅いようです。

于 2010-07-31T00:22:43.527 に答える