我有这个代码,它会检查一个类并根据该类是否存在来更改CSS。然而,它以这种方式保持CSS,具有37px的上边距。如果已删除Class并重新更改CSS,我将如何再次检查?
function checkForStickyClass()
{
if ($('.sticky-wrapper').hasClass('is-sticky'))
$('#mobile-menu-wrap').css('top','37px');
else
setTimeout(checkForStickyClass, 100);
}
$(checkForStickyClass);
我尝试修改
function checkForStickyClass()
{
if ($('.sticky-wrapper').hasClass('is-sticky'))
$('#mobile-menu-wrap').css('top','37px');
else if
(!$('.sticky-wrapper').hasClass('is-sticky'))
$('#mobile-menu-wrap').css('top','0');
else
setTimeout(checkForStickyClass, 100);
}
$(checkForStickyClass);
现在这不起作用,因为它始终保持0px。显然我在这里有一些逻辑错误。请帮忙
答案 0 :(得分:1)
您需要每次都设置超时,因此else
前面没有setTimeout
。
什么改变了你的课程?您是否可以使用该代码来更改#mobile-menu-wrap
的样式?
答案 1 :(得分:0)
我明白了!这是工作代码,thx到Alex
function checkForStickyClass()
{
setTimeout(checkForStickyClass, 100);
if (jQuery('.sticky-wrapper').hasClass('is-sticky'))
jQuery('#mobile-menu-wrap').css('top','37px');
else if (!jQuery('.sticky-wrapper').hasClass('is-sticky'))
jQuery('#mobile-menu-wrap').css('top','0px');
}
jQuery(checkForStickyClass);