0

http://jsfiddle.net/NCt4D/

動かしたいのですが(画像が大きいです)、動きません。

Firebug は参照 scrollDivDown が定義されていないと言っていますが、そこにありますか?

4

3 に答える 3

4

JSフィドルです。

「フレームワークの選択」で、「ラップなし(本体)」を選択します。これにより、コンテンツの最後にコードが出力され、関数にラップされません。これは、通常/理想的にはスクリプトに対して行うことです。スクリプトは、コンテンツの後、本文が閉じる前にロードされます。

@jcomeau_ictxが言ったことのように、イベントハンドラーはを必要としません()。実行したい関数の名前(技術的には、の参照)が必要なだけです。さらに、ロード時に、だけでなく、より多くの関数を実行したい場合はscrollDivDown、次のことができます。

window.onload = function(){
    scrollDivDown();
    foo();
    bar();
    baz();
}

また、ハンドラーの件名(この場合はwindow)をの前に追加しますonloadwindow件名はグローバルスコープのように暗示されていますが、混乱を避けるために先頭に追加するだけです。同様に行うこともベストプラクティスです。

于 2012-04-19T07:05:33.653 に答える
3

http://jsfiddle.net/NCt4D/1/

scrollDivDownはクロージャ内にあったため、でタイムアウトが実行されていたグローバルスコープではアクセスできませんでした。

于 2012-04-19T07:06:01.603 に答える
3
window.onload = scrollDivDown;  // do not append ()
于 2012-04-19T07:06:07.587 に答える