jqueryを使用してページ上のユーザーの位置に応じてクラスを変更するdivがあります。この関数は次のようになります。jqueryでdivにクラスを変更
$(function(){
var menu = $('#menu'),
pos = menu.offset();
$(window).scroll(function(){
if($(this).scrollTop() > pos.top+menu.height() && menu.hasClass('default')){
menu.fadeOut('slow', function(){
$(this).removeClass('default').addClass('fixed').fadeIn('slow');
});
} else if($(this).scrollTop() <= pos.top && menu.hasClass('fixed')){
menu.fadeOut('slow', function(){
$(this).removeClass('fixed').addClass('default').fadeIn('slow');
});
}
});
});
また、特殊なクラス/名前のリンク/ボタンをクリックすると、divクラスも変更したいと考えています。
私は悪い試みをしました..しかし、これを前の関数にどのように組み込むことができますか? ..「それ以外の場合」と
$(".closemeny").click(function() {
menu.fadeOut('slow', function(){
$('#menu').removeClass('fixed').addClass('default').fadeIn('slow');
});
これは本当にうまくいきます!しかし、私が再びスクロールするとレイヤーが戻ってきます。誰かが "closemeny"をクリックした後、レイヤーを無効にする方法はありますか?ページをリロードするまで戻ってこない。 – user681061
私はdivを削除するためにこれを追加しました。 menu.fadeOut( 'slow'、function(){ $( '#menu')。remove(); – user681061