0

コンテンツが異なるため、高さが異なる3つのドロップダウンメニュー(横に並んでいる)を備えたナビゲーションがあります。

現在、ホバー時の各ドロップダウンが0から始まり、その高さにアニメーション化されるように動作しています。

現在の高さを覚えてこれを改善したいので、マウスが次のドロップダウンに移動すると、高さが異なるだけでアニメーション化されます。

誰かがこれで私を助けてくれますか?

これは私がこれまでに持っているものです:

var expandLi = $('#header .nav .wrapper > ul > li.expand');

$(expandLi).hover(function(){       
    var startHeight = 0;
    var maxHeight = $(this).find('.expandPanel').height();
    $(this).find('.expandPanel').height(startHeight);       
    $(this).find('.expandPanel').animate({'height':maxHeight});
}, function(){ 
    $(this).find('.expandPanel').fadeOut();
});
4

2 に答える 2

1

よくわかりませんが、 startheight に追加することはできませんか?

var expandLi = $('#header .nav .wrapper > ul > li.expand'), startHeight = 0;

$(expandLi).hover(function(){
    var elem = $('.expandPanel', this),
        maxHeight = elem.height();
    elem.height(startHeight).animate({'height':maxHeight}, 1000, function() {
        startHeight += maxHeight;
    });
}, function(){ 
    var elem = $('.expandPanel', this),
        maxHeight = elem.height();
    elem.fadeOut(1000, function() {
        startHeight -= maxHeight;
    });
});
于 2012-08-09T23:56:00.920 に答える
0

jquery "data" 関数を使用して、任意の html タグの追加データを保存できます。例えば ​​:

$('#id').data('xxx', 123456);
于 2012-08-09T23:53:19.243 に答える