0
var item = $(this).attr('class');

switch (item) {
    case 'menu-visie active':
        soundManager.play('soundLaag1');
        break;

ケース内のアクティブを削除できる方法はありますか?変数のクラスはmenu-visieactiveです。しかし、時にはクラスはメニュー訪問です。しかし、クラスがメニュー訪問の場合。スクリプトが機能していません。

switchステートメントを設定するにはどうすればよいですか。そのステートメントはmenu-visieクラスのみを調べます。これで、クラスはまったく同じでなければなりません

4

4 に答える 4

4

これらのクラスを操作するには、手動ではなく jQuery を使用する必要があります。例えば:

if ($(this).hasClass('menu-visie')) {
  soundManager.play('soundLaag1');
}

更新 多くのクラスがある場合は、それらすべてを格納するオブジェクトを作成します。例えば:

var self = this,
    sounds = {
      'menu-visie':'soundLaag1',
      'menu-visie2':'soundLaag2'
    };

$.each(sounds, function(i,n) {
  if (self.hasClass(i)) {
    soundManager.play(n);
  }
});
于 2013-02-26T18:11:04.380 に答える
1

あなたはこれを行うことができます:

if($(this).hasClass('menu-visie')) {
    soundManager.play('soundLaag1');
}
于 2013-02-26T18:11:47.007 に答える
1

代わりにこれを行います:

if( $(this).hasClass('menu-visie') ) {
    soundManager.play('soundLaag1');
} else {
    //something else.
}
于 2013-02-26T18:12:07.817 に答える
0

ほとんどの人が言及しているように、Jquery メソッド「hasClass」を使用する必要があります。スイッチを保持したい場合 (多くのステートメントがある場合) は、次のようにコードを記述できます。

switch (true) {
    case $(this).hasClass('menu-visie'):
        soundManager.play('soundLaag1');
        break;
于 2013-02-26T18:15:21.040 に答える