无法获得.not()类选择器来处理这个问题

时间:2012-07-23 01:59:28

标签: class jquery-selectors

你可以看到我是jquery的新手,我正在尝试做一个简单的效果,你用菜单链接过滤画廊,我希望悬停时不透明度变化,点击我需要悬停停止工作。 我尝试的是在点击上添加一个“.disabled”类,它会添加到我的菜单链接中, 并将悬停功能设置为.not(."disabled")但显然在dom准备好后悬停不是检查类,我该如何解决这个问题?任何其他指针如何优化此功能将有所帮助。 提前致谢。 Clazzid

这是我的代码:

$('#menu-item-43 a ,#menu-item-44 a, #menu-item-42 a, #menu-item-64 a').click(function() {
                $('#menu-item-43 a ,#menu-item-44 a, #menu-item-42 a, #menu-item-64 a').addClass('disabled');
            });


            $('#menu-item-42 a').click(function() {
                $('.exhibition, .prototyping').stop().animate({ opacity: 0.0 }, 500);
            });
            $('#menu-item-42 a').click(function() {
                $('.design').stop().animate({ opacity: 1.0 }, 500);
            });

            $('#menu-item-43 a').click(function() {
                $('.design, .prototyping').stop().animate({ opacity: 0.0 }, 500);
            });
            $('#menu-item-43 a').click(function() {
                $('.exhibition').stop().animate({ opacity: 1.0 }, 500);
            });

            $('#menu-item-44 a').click(function() {
                $('.design, .exhibition').stop().animate({ opacity: 0.0 }, 500);
            });
            $('#menu-item-44 a').click(function() {
                $('.prototyping').stop().animate({ opacity: 1.0 }, 500);
            });

            $('#menu-item-64 a').click(function() {
                $('.design, .exhibition, .prototyping').stop().animate({ opacity: 1.0 }, 500);
            });  



            $('#menu-item-42 a').not('.disabled').hover(function() {
                $('.exhibition, .prototyping').stop().animate({ opacity: 0.0 }, 500);
            });
            $('#menu-item-42 a').not('.disabled').hover(function() {
                $('.design').stop().animate({ opacity: 1.0 }, 500);
            });

            $('#menu-item-43 a').not('.disabled').hover(function() {
                $('.design, .prototyping').stop().animate({ opacity: 0.0 }, 500);
            });
            $('#menu-item-43 a').not('.disabled').hover(function() {
                $('.exhibition').stop().animate({ opacity: 1.0 }, 500);
            });

            $('#menu-item-44 a').not('.disabled').hover(function() {
                $('.design, .exhibition').stop().animate({ opacity: 0.0 }, 500);
            });
            $('#menu-item-44 a').not('.disabled').hover(function() {
                $('.prototyping').stop().animate({ opacity: 1.0 }, 500);
            });

            $('#menu-item-64 a').not('.disabled').hover(function() {
                $('.design, .exhibition, .prototyping').stop().animate({ opacity: 1.0 }, 500);
            });  

1 个答案:

答案 0 :(得分:0)

我认为你应该这样做

$('#menu-item-43 a').hover(function() {
   if (!$(this).hasClass('disabled'))
      $('.exhibition').stop().animate({ opacity: 1.0 }, 500);
});