帮助动画儿童div JQuery

时间:2011-02-26 19:40:02

标签: jquery jquery-animate

我正在尝试这样的事情

 jQuery(document).ready(function($){
    $('nav ul li').hover(
        function() {
            $('this.menu1bar').animate({ backgroundColor: "#95c938" }, "fast");
            $('this.menu2bar').animate({ backgroundColor: "#95c938" }, "fast");
        },
        function() {
            $('this.menu1bar').animate({ backgroundColor: "#a99672" }, "fast");
            $('this.menu2bar').animate({ backgroundColor: "#a99672" }, "fast");
       }
   );
   });

此代码的目标是动画子div .menu1bar和.menu2bar任何人都可以帮助这一步,该代码适用于UL的所有子div,但我只想要LI的孩子悬停事件。

3 个答案:

答案 0 :(得分:3)

这应该有效:

jQuery(document).ready(function($){
    $('#nav ul li').hover(
        function() {
            $(this).find('.menu1bar,.menu2bar').animate({ backgroundColor: "#95c938" }, "fast");
        },
        function() {
            $(this).find('.menu1bar,.menu2bar').animate({ backgroundColor: "#a99672" }, "fast");
       }
    );
});

答案 1 :(得分:2)

尝试使用children()选择特定元素。像这样:

$('this').children('.menu1bar').animate({ backgroundColor: "#95c938" }, "fast");

修改

当然你也可以使用find(),但是有区别:

  • Find()搜索所有孩子 水平,也是孙子。
  • 儿童()仅搜索第一级 孩子。

答案 2 :(得分:0)

请显示您的HTML标记。我认为问题可能在以下......

$('this.menu1bar')

$(this).find('.menu1bar')