1

別の画像を追加する代わりに赤いボタンをクリックした後、画像の不透明度を変更しようとしていますが、新しい画像に赤いボタンが表示されないはずです

私のJSコードは以下です。

http://jsfiddle.net/mwPeb/7/

<script>
    $(document).ready(function () {
        $(".specialHoverOne").hover(function () {
            //  alert("i am here");
            $(".ctaSpecialOne").css("visibility", "visible");

        },

        function () {
            $(".ctaSpecialOne").css("visibility", "hidden");
        });

        $(".ctaSpecialOne").click(function (e) {
            alert("clicked");
            e.preventDefault();
            //$(this).closest('.specialHoverOne').unbind("mouseenter").end().parent().siblings('a').children("img").attr("src", //"http://imgs.zinio.com/magimages/62898189/2012/416242497_200.jpg");                
            $(this).css({
                'opacity': 50
            });

        });

    });
</script>
4

2 に答える 2

2

ここでコーディングをクリーンアップするのにある程度の時間を費やします。何かを見つけるのは少し難しく、構造を追跡するのは少し難しいです。

私が正しく理解していれば、これは、赤いボタンがクリックされたときに赤いボタンの上の画像の不透明度を変更するために必要な線だと思います。

$(this).parent().prev().prev().css({'opacity':.5});

すなわち;

$(".ctaSpecialOne").click(function (e) {
  e.preventDefault();            
  $(this).parent().prev().prev().css({'opacity':.5});
});

http://jsfiddle.net/mwPeb/11/

于 2012-11-16T04:57:32.067 に答える
0

クリック時に赤いボタンの不透明度を変更したいですか? それとも上の画像?まず、不透明度を設定するには、次のように行を変更します。

$(this).css({'opacity':50});

に:

$(this).css({ opacity: 0.5 });

現在のフィドルでは、赤いボタンの不透明度が設定されていることがわかります。他の何かを設定したい場合は、構文ができました。

更新: 同じコードを繰り返す一連の .click() イベントを配線する代わりに、関数を作成するのが最善かもしれません

function setThisOpacity(id) {
    $("#" + id).css({ opacity: 0.5 });
    //do other stuff if you need to
}

次に、html マークアップで、不透明度を設定するアイテムに実際の ID をonclick="setThisOpacity(someID);"追加するだけです。someID

于 2012-11-16T03:56:55.480 に答える