jQuery不透明度不起作用

时间:2012-11-16 03:40:27

标签: jquery-ui jquery jquery-plugins jquery-selectors

我在点击红色按钮后尝试更改图像的不透明度 而不是添加不同的图像,我不应该看到新图像上的红色按钮

我的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>

2 个答案:

答案 0 :(得分: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/

答案 1 :(得分: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标记中,只需添加onclick="setThisOpacity(someID);",其中someID是您要设置不透明度的项目的实际ID。