2011-11-08 4 views
0

この投稿のタイトルは多少混乱していますが、そのような短いセクションで説明する方法は考えられませんでした。divを使ってページを先頭に移動することをjQueryで非表示/非表示にしています

イベントを追跡するプログラムを作成したので、1ページにイベントがたくさんあるので、最初に各アイテムの詳細を隠すことにしました。ユーザーが「詳細の表示」をクリックすると、ボタンをクリックすると、詳細のdivは表示されず、ユーザーはそれらを表示できます。

問題は、ユーザーがページをはるかに下ってリンクをクリックすると、ページの上部に表示される(詳細は表示されますが)ユーザーはページ全体をスクロールダウンしなければならないということですエントリを読み取る。誰かがボタンをクリックしたときと同じ場所にユーザーを置く方法を知っていますか?

ありがとう、私に何か他のものを提供できるかどうか教えてください。

+0

私たちにいくつかのコードを見せてください。 「詳細の表示」ボタンは「」ですか? – netiul

答えて

3

使用<a href="javascript:void(0)">の代わり#

+0

うわー、それは驚くほど簡単なことです。ありがとう、なぜ私はそのような問題があったのか分かりません – Gordnfreeman

2

私はあなたが彼らがクリックできるアンカータグを持って推測していますか?

アンカータグが「#」にリンクしていますか?

もしそうなら、onclick = "return false;"を追加してみてください。そのタグに

<a href='#' class='view_details' onclick='return false;'>View details</a> 
3

これはおそらく、あなたの詳細を表示]ボタンをhref値として#とアンカーであるという事実に関係しています。

return false;

をかでpreventDefault()呼び出しを使用して:

あなたは追加することによって、これを停止することができます。

のjQuery:

$('.view_details').on('click', function(event) { 

    // Your Code 
    event.preventDefault(); 
    // or 
    return false; 

}); 

これは、ページの一番上にあなたを送るからリンクを停止します。ユーザーがそのリンクをクリックしたときに、彼らがしようとしている

<a href="#" id="details12" onclick="show_details();">show details</a> 

...:

1
$('.view_details').click(function(e) { 
    e.preventDefault(); 
    //do your stuff 
}); 
1

あなたのHTMLを見ることなく、私は推測することができます...しかし、あなたはこのようなものを使用している場合ページの上部。それはあなたがそこに持っているhrefプロパティのためです - '#'は空のアンカーであり、ページを一番上に撃つでしょう。あなたがする必要があるすべてはあなたのイベントからfalseを返します:ここで説明したよう

<a href="#" id="details12" onclick="return show_details();">show details</a> 

function show_details(e) { 
    // show the details 

    return false; 
} 

またevent.preventDefaultを使用することができます。https://developer.mozilla.org/en/DOM/event.preventDefault

0

あなたはリターン偽のを忘れてしまったことができますか?

$("a.detail").click(function(){ 

    // Loading the div contents... 

    return false; // Don't forget this 
}); 
関連する問題