0
<script>
     $(window).resize(function(){
     console.log('resize called');
     var width = $(window).width();
     if(width >= 900){
         $('#lefty').removeClass('alpha');
         $('#righty').removeClass('omega');
     }
     else{
         $('#lefty').addClass('alpha');
         $('#righty').addClass('omega');
     }
   })
   .resize();
</script>

このコードを使用して、アルファとオメガのクラスを 2 つの div (左と右) に追加/削除しようとしています。

いくつかのfirebugデバッグの後、このコードは実行されることさえありません。その理由は完全にはわかりません。

関連する場合と関連しない場合がありますが、このコードが変更する必要がある div は、次のような php インクルードにあります。

<?php
  require ("include_nav.html");
?>

これが機能しない理由を知るには、javascript について十分に知りません。助けてくれてありがとう。

4

1 に答える 1

0

コード内の関数は機能しています:

http://jsfiddle.net/ccjyD/

呼び出されない理由:

  • jQuery がロードされる前に呼び出されます。
  • $(window).resize...イベントリスナーを実行しない原因となる前に、いくつかの構文エラーがあります。
  • PHP ファイルにエラーがあります。

アップデート

ほとんどの場合、イベント リスナーが 1 回だけ起動するのは、次の理由によるものです。

$(window).resize(yourFunc());
function yourFunc(e){  //^------shouldn't have ()
    //blah
}

これの代わりに無名関数を使用した場合は、コードに他の問題があるはずです。

于 2013-05-17T15:23:01.423 に答える