2012-01-26 20 views
3

私はこの問題を理解することができないので、私は尋ねる必要があります。私は、クリックイベントで非常にシンプルなjQスクロールを要素にスクロールしようとしています。私は正常に別のページの前に同じ機能を構築しました。ページ上の要素にスクロールするjquery - html、本文はスクロールを拒否する

$('li.newsmenu a').click(function() { 
    $('html, body').animate({scrollTop: $('section#news').offset().top}); 
     return false; 
}); 

セレクタはどちらも問題ありません。

私はクリックイベントをテストしました。アラート( 'これはこのようなものです)が表示されます。コンソールで

$( '部#ニュースは')。(オフセット)。トップ値は良識を返します。

私はChromeで& Safariをテストしましたが、成功しませんでした。

私は他の人の仕事の上で、そしてHTML5定型句Wordpressテーマシステムの上に取り組んでいます。その中に何かがあるのだろうかと思います。

誰にもアイデアはありますか?これは私をナットにしている。

+0

jsfiddleのようなサイトがありますが、使用できるhtmlをダンプするだけですか? – iiz

+0

ok私はそれがすべてここにあるべきだと思う:http://jsfiddle.net/BTyUY/私はいくつかのものをブロックしなければならなかった[私はそれをすべて得た!]そして、JSは含まれていないが、私のJSはあまりしない特定の分野を除いてhtml/cssの変更。 Jcarousel&Masonry – iiz

+0

あなたのjQueryは問題ありません。どこかで紛争が起こっているに違いありません...あなたには何らかの誤りがありますか?あなたのコードの簡略化されたjsfiddleはここにあります:[http://jsfiddle.net/BTyUY/4/](http://jsfiddle.net/BTyUY/4/) –

答えて

2

これはウェブキットの問題のようです。指定することによって

html, body { height: 100%; } 

これはウィンドウの高さに制限されています。だからscrollTop(x)は決して動かない。これらの宣言を含まないようにCSSを変更すると、すべてが再び機能します。 1つの他の回避策は、あなたのボディコンテンツをスクロール可能なdivに配置し、代わりにスクロールすることです。私はこれがWebkitのバグだと言いたいのは、その動作が奇妙に思われるからです。ウインドウを少しスクロールすることで、自分で見ることができます。次に、現在のscrollTop値をすべて照会します。常にゼロです。

+0

さらなるinsiteありがとう。コードはHTML5 Boilerplateのワードプレステーマから来ており、私の同僚が追加したものではないと思って、特にそれをデバッグしたかったのです。私はそれがそのテーマの上に付箋のフッタに関連していると思う。私はまだStackOverflowの新しいですが、私はそれがほぼバグであっても、それが正しいSOのエチケットですか? – iiz

+0

@iiz - これはこの質問のための灰色の領域です。より良い解決策が来ると思うなら、私は私の答えを受け入れません。これが良いと思うなら、それを受け入れようとしていると思うのであれば、おそらくそれが最善です。道を辿ると、誰かがより良い解決策を発見すると、受け入れられた答えを完全に変更することができます。 – mrtsherman

+0

あなたが問題の根本を見つけたときに受け入れられ、そのために解決策が見つかると、問題はおそらく最初に起こっていたはずです。 Thnx – iiz

関連する問題