我遇到了一个奇怪的问题,即我的大部分“规则”都在click函数中起作用,但其中一个不会起作用
$(".fadeOut input").click(function() {
$(".nooverlay").addClass("overlayon");
$(".searchBar").addClass("fadeIn");
$(".searchBar").removeClass("fadeOut")
});
addClass(“ overlayon”)不起作用?!?!?
fadeIn作品
fadeOut有效
整个js可以在这里看到:
quickstart
我正在使用yui-compressor进行压缩,然后创建一个大捆绑包(bundle.js)
控制台没有错误,如果我将此功能粘贴到控制台中,它将运行正常。
实时演示:https://github.com/TerminalAddict/ta.com-website/blob/master/assets/js/ta.js
答案 0 :(得分:0)
作为输入框,您要定位的是一个ID,而试图添加类的Div元素也有一个ID。 ID是唯一的,我认为您可以在下面的代码中使用。我也尝试在控制台窗口上执行,并且似乎可以正常工作。
$("#query").click(function(e){
event.preventDefault();
if($('#query').parents('.fadeOut').length>0){
$('#overlay').addClass('overlayon');
$('.searchBar').addClass('fadeIn');
$('.searchBar').removeClass('fadeOut');
}
});
因为我们只有在.fadeout类的情况下才会显示黑色背景,所以我在上面的jquery代码中添加了以下代码,以检查Query Textbox的父级是否具有该类。似乎工作正常。
if($('#query').parents('.fadeOut').length>0){