2011-12-09 12 views
0

[OK]をクリックすると、アンカーをクリックしたときにページがスクロールしないようにしようとしています。スクロールを一番上に移動しないようにする - 問題

私はこれまで何度もやったことがありますが、今回は何が分からないのか分かりません。任意の助け

$('#regionMapNav a').click(function(event){ 

    event.preventDefault(); 

     var i = $(this).attr("class"); 
     var name = $(this).attr("id"); 
     name = name.replace(/\s+/g, ''); 
     if(i != 'active'){ 
       $('.active').removeClass('active'); 
       $(this).addClass('active'); 
       $('.map').hide(); 

       $('#' + name + 'Map').fadeIn(3000); 
       return false; 
      } 

}); 

感謝:

は、このコードを見てください。

EDIT 動作するはず何も作業していないので、私はここでは、コードだけである...私はそれが最高ではないですけど、それが動作する....先に行って、ちょうど一番下までスクロールするハックを作成誰かが同じ問題を抱えている場合に備えて。私が作成しているこのアイテムはページの一番下にあることを覚えておいてください。また、このページには動的に読み込まれる大きなヘッダーがあります。私の問題はそれに関係していると思いますが、今日私のミスを追跡するためのエネルギーはありません。

$('#regionMapNav a').click(function(event){ 

    event.preventDefault(); 

     var i = $(this).attr("class"); 
     var name = $(this).attr("id"); 
     name = name.replace(/\s+/g, ''); 
     if(i != 'active'){ 
       $('.active').removeClass('active'); 
       $(this).addClass('active'); 
       $('.map').hide(); 

       $('#' + name + 'Map').fadeIn(3000); 
       window.scrollTo(0, document.body.scrollHeight); 
       return false; 
      } 

}); 
+0

うーん...それはうまくいくようです。あなたのHTMLはどのように見えますか? – Cfreak

+0

私は問題は、このページに動的に追加されたヘッダーがあることだと思います...私はこれが機能するはずであることを知っているので、ボトムハンドラにスクロールを追加するつもりです。 –

+0

リンクのHREFとは何ですか?私はHREFが "#"を指していて、私が 'click'イベントにバインドしていたときに、' preventDefault() 'を尊重していないブラウザーでいくつかの問題を抱えていました。 HREFを ""に設定してみてください。 –

答えて

0

if文の外側にreturn false;を追加します。おそらく、私が「アクティブ」でないリンクの上にスクロールしています。

+1

'event.preventDefault()'は伝播を阻止するジョブを既に実行していて、通常はfalseを返すことよりも推奨されます。 –

+0

私はGregに同意し、event.preventDefault()を使用します。これにより、リンクやサブミットボタンなどの要素のデフォルトアクションが防止されます。 – Downpour046

関連する問題