在此代码中,我将比较单击的 anchor 是否具有与表单的 id 字符串不同的 rel 属性字符串。
$('.title a').each(function(i){
$('.title a:eq('+i+')').click(function(e){
e.preventDefault();
$('.title a').removeClass('active');
$(this).addClass('active');
var rel = $(this).attr('rel'),
formId = $('form').attr('id');
if (formId!=rel) {
$('form[id!='+rel+']').fadeOut(200, function(){
$('form[id='+rel+']').fadeIn(200);
});
}
});
});
我第一次点击时,效果很好。但如果我再次点击它就不起作用,我找不到问题,有人可以帮助我吗?
jsfiddle:http://jsfiddle.net/z4MMw/
最佳答案
您可以尝试:
$('.title a').click(function(e){
e.preventDefault();
$('.title a').removeClass('active');
$(this).addClass('active');
var rel = $(this).attr('rel');
$('form#' + rel).fadeIn(200, function(){
$('form:not(#' + rel + ')').fadeOut(200);
});
});
我已经反转了淡入淡出,因此如果存在具有给定 ID 的表单,它将 fadeId,否则会发生任何情况。
关于javascript - 条件 IF 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21092954/