0

クラスパネルを持つ div 要素があります。私が欲しいのは、クラスでアンカータグをクリックすると、openクラスでdivコンテナが表示され、panel下にスライドすることです。

私の現在のコードでは、 class とのリンクが 2 つありますopen。それらのいずれかをクリックすると、パネルがアニメーション化されます。しかし、下のアンカー タグをクリックすると、上にスクロールするまで要素が表示されません。

このアニメーションを可能にするにはどうすればよいですか?どのリンクをクリックしても、ページのどこかをクリックすると、パネルがアニメーション化されて表示される必要がありますか?

ここに私のコードはここにあります

4

2 に答える 2

1

2つの方法が頭に浮かびますが、

最初: パネルの CSS 位置を設定します:固定; ユーザーがどこからでもパネルを見ることができるよりも、

これはデモです

または2番目の方法:クリックごとに複数の条件関数を設定します

 $('.openTop').click(function(e) {
          e.preventDefault();
          $('.panel').animate({top:'300'},500).show();
 });
 $('.openBottom').click(function(e) {
          e.preventDefault();
          $('.panel').animate({top:'1000'},500).show();
});
于 2012-07-04T11:01:06.050 に答える
0

これは、を使用して簡単な方法で行うことができます

$(document).scrollTop()

JS:

$('.open').click(function(e) {
    e.preventDefault();
    var topVal = $(document).scrollTop() + 300;
    $('.panel').animate({top:'+='+topVal}).show();
});

ライブデモを参照

于 2012-07-04T11:50:44.037 に答える