2013-07-30 26 views
6

Điều này có vẻ hợp lệ nhưng không hoạt động. Tôi muốn div 'huh' trở nên mờ đục khi menu bị lơ lửng. Tôi đã thử điều này với fadein/out và nó hoạt động nhưng chỉ một lần là lẻ.jQuery.addClass không hoạt động

<script type="text/javascript"> 
    $(function() { 
     $('#menuNav').hover(function() { 
      $('#huh').addClass('.opacity'); 
     }, function(){ 
      $('#huh').removeClass('.opacity'); 
     }); 
    }); 

</script> 

.opacity { 
    opacity: 0.3; 
} 
+5

Đừng đề cập đến '.' trong 'phương pháp addClass/removeClass'. Kiểm tra [jquery docs] (http://api.jquery.com/) –

Trả lời

23

Sử dụng nó mà không có dấu chấm:

$(function(){ 

     $('#menuNav').hover(function(){ 

      $('#huh').addClass('opacity'); 
     }, function(){ 
      $('#huh').removeClass('opacity'); 
     }); 
    }); 
+0

GAH! :) cảm ơn bạn! – user2608855

+0

@ user2608855, bạn hoan nghênh! – Cherniv

2

Hãy thử điều này

<script> 
    $(function(){ 
    $('#menuNav').hover(function(){ 
     $('#huh').addClass('opacity'); 
    }, function(){ 
     $('#huh').removeClass('opacity'); 
    }); 
}); 

</script> 
4

sử dụng này Di .

$('#huh').addClass('opacity'); // remove . 

$('#huh').removeClass('opacity'); // remove . 

=========== ===

Hoặc sử dụng để

toggleClass in jquery 

$(function(){ 

     $('#menuNav').hover(function(){ 
      $('#huh').toggleClass('opacity'); 
     }); 
    }); 

More about this

4

.hover() làm cho nhiều sự kiện, tốt hơn để sử dụng .mouseenter(). Lưu ý cũng rằng khi thêm lớp bạn không có . (dấu chấm).

$(function(){ 

     $('#menuNav').mouseenter(function(){ 

      $('#huh').addClass('opacity'); 
     }, function(){ 
      $('#huh').removeClass('opacity'); 
     }); 
    }); 
2

Bạn có một . tên lớp học của bạn trong addClassremoveClass, bạn cần phải thêm và loại bỏ mà không có dấu chấm khi gọi các phương pháp này. ví dụ:

$(function() { 
    $('#menuNav').hover(function(){ 
     $('#huh').addClass('opacity'); 
    }, function(){ 
     $('#huh').removeClass('opacity'); 
    }); 
}); 
1

. loại bỏ và sau đó sử dụng javascript này

$(function(){ 
    $('#menuNav').hover(function(){ 
     $('#huh').addClass('opacity'); 
    }, function(){ 
     $('#huh').removeClass('opacity'); 
    }); 
}); 
1

Hãy thử điều này

$("#menuNav").mouseenter(function() { 
    $('#huh').addClass('opacity'); 
}).mouseleave(function() { 
    $('#huh').removeClass('opacity'); 
}); 
4
$(function() { 
    $('#menuNav').hover(function() { 
     $('#huh').toggleClass('opacity'); 
    }); 
});