2013-06-10 9 views
5

下記のコードはFirefoxブラウザで正常に動作しています。しかし、クロムではない。以下のコードの問題は何ですか?Chromeでオンスクリーン機能が動作しません

document.onscroll = function() { console.log('Works in Chrome!'); };

+1

あなたの体の 'overflow'プロパティは何に設定されていますか? –

答えて

0

を、 onscrollハンドラとして使用します。
この関数を実行したくない場合、その関数に参照を割り当てたいとします。

さらに、documentまたはdocument.bodyではなく、windowオブジェクトでは、ドキュメント全体のオンスクリーン表示がブラウザ間で優れているようです。

window.onscroll = Test.callFn; 
+1

-1 Chromeで動作しません –

+0

Chromeで動作します。新しいタブ(CTRL + T)を開き、開発ツール(SHIFT + CTRL + I)を開き、上記コードスニペットをコピー/ペーストしてウィンドウをスクロールします。コンソールに表示されます。 –

+4

あなたは深刻なことはできません。単にChromeで動作します。 –

6

あなたがcallFnを割り当てるしているときは、()を望んでいない:あなたはdocument.onscrollイベントにイベントハンドラをアタッチ場合、それは動作します

window.onload = function() 
{ 
    document.body.onscroll = Test.callFn; 
} 

var Test = new function() 
{ 
    this.callFn = function() 
    { 
     console.log("Calling this function"); 
    } 
} 

Chromeのおかげ

+0

こんにちは、私の誤植で申し訳ありません。最初は、上記の形式の関数を呼び出しました。しかし、それはクロムだけでは機能しません。 – sprabhakaran

4

今日も同様の問題がありました。 html要素がonscroll属性を持っているとき、それはonscrollイベントを割り当てるのがベストですので、私はbody要素がonscroll属性を持つ場合、クロムにonscrollイベントが動作していることに気づいた

window.onload = function() 
{ 
    window.onscroll = function() 
    { 
     console.log("Calling this function"); 
    } 
} 

が、IEでそれが働いています:document.bodywindowするには、変更することができますリスナーからwindowオブジェクトです。

PS。スクロールしたピクセル数を確認する場合は、document.body.scrollTopの代わりにwindow.pageYOffsetを使用します(前述のクロムとIEと同じ状況)。

0

可能性の1つは、あなたのページに2つのwindow.onscrollステートメントがあり、それぞれのステートメントが異なるJSメソッドを呼び出すことです。インクルードファイルとページロード中のすべてのメソッドを確認してください。

関連する問題