0

これまでのところ、jCarousel を表示して、txt ファイル経由で画像をロードしました。

私がやりたいことは、一度に 4 つの画像を表示し、ユーザーが画像の 1 つの上にマウスを置くと、他の 3 つの画像の不透明度が 30% にフェードすることです。次に、マウスをその隣の画像に移動すると、その画像の不透明度が 100% になり、他の 3 つの画像の不透明度が 30% になります。

その上にマウスがある画像は常に 100% の不透明度になり、他の画像は 30% になるため、目立ちます。ユーザーがマウスを jCarousel ボックスの外に移動すると、すべての画像が 100% の不透明度で表示されるようにします。

私はこれに似たコードを使用しています

ありがとう。

編集

申し訳ありませんが、以前にコードを追加する必要がありました。ここにあります: http://pastebin.com/m54cd73d8 これは私がこれまでに持っているものです。しかし、マウスが jCarousel div の外に移動したときにすべての画像の不透明度を復元するには、mouseout イベントが必要だと思います。また、最初の4つの画像でのみ機能しているようで、カルーセルに10枚の画像があり、他の画像は何もしていないようです:s

新しい 現在のコード: 今のところ



 
$(window).bind("load", function() {
    var activeOpacity   = 1.0,
        inactiveOpacity = 0.3,
        testOpacity = 0.3,
        fadeTime = 50,
        clickedClass = "selected",
        thumbs = "#mycarousel li";

  $(thumbs).fadeTo(1.0, activeOpacity);

    $(thumbs).hover(
        function(){

            $(thumbs).fadeTo(fadeTime, inactiveOpacity);

          $(this).fadeTo(fadeTime, activeOpacity);
        },
        function(){
            // Only fade out if the user hasn't clicked the thumb
            if(!$(this).hasClass(clickedClass)) {
                $(this).fadeTo(fadeTime, activeOpacity);
            }
        });
     $(thumbs).click(function() {
         // Remove selected class from any elements other than this
         var previous = $(thumbs + '.' + clickedClass).eq();
         var clicked = $(this);
         if(clicked !== previous) {
             previous.removeClass(clickedClass);
         }
         clicked.addClass(clickedClass).fadeTo(fadeTime, activeOpacity);
     });
});
  
4

1 に答える 1