我不知道我进行了很多搜索,当我应用代码时,控制台弹出错误并提示许多未定义的内容,我想写一个简单的诺言
$(document).ready(function(event){
$('.hover-effect').on('click',function(event){
filters.forEach(function(vertical){
$("div[data-filter=" + vertical + "]").removeClass("selected");
})
$(this).addClass('selected');
const datafilter = $(this).attr('data-filter');
$(".verticals").hide();
$('#'+datafilter).show();
});
});
一旦for循环完成,那么我必须添加所选的类和其他内容
答案 0 :(得分:1)
您要实现的目标尚不清楚,似乎您具有悬浮效果类的按钮列表,单击时,所有其他按钮都应删除其选定的类,并且单击的元素应已添加所选的类。
这部分代码效果很好:
const datafilter = $(this).attr('data-filter');
$(".verticals").hide();
$('#'+datafilter).show();
话虽如此,我很确定这是您要实现的目标。
$(document).ready(function(event){
$('.hover-effect').on('click',function(e) {
$(".hovereffect").removeClass('selected');
$(this).addClass('selected');
const datafilter = $(this).attr('data-filter');
$(".verticals").hide();
$('#'+datafilter).show();
});
});
注意:如果在其他地方使用“ hovereffect”类,则应创建一个新类来实现此功能。
答案 1 :(得分:0)
$(document).ready(function(event){
$('.hover-effect').on('click',function(event){
const datafilter = $(this).attr('data-filter');
var promise=new Promise(function(resolve,reject){
filters.forEach(function(vertical){
$("div[data-filter=" + vertical + "]").removeClass("selected");
});
resolve('success');
});
promise.then(function(value){
$("div[data-filter=" + datafilter + "]").addClass("selected");
$(".verticals").hide();
$('#'+datafilter).show();
});
});
});