我试图用jQuery在列表中显示项目信息。它工作得很好,但每当我点击已经激活的项目时,它将再次滑动和滑动。我希望它只能滑动并关闭。
这就是为什么我尝试使用.not(this)的原因,但它是无效的,我做错了吗?
这是代码:
$('#MixIt .item').on('click', function(e){
if(e.target.localName == 'div'){
$('.item-body').not(this).slideUp();
$(this).next('.item-body').slideToggle();
}
});
谢谢!
修改
想出来。
目标是'这个'但我需要这个'
的.item-body现在的代码是:
$('#MixIt .item').on('click', function(e){
var __this = $(this).next('.item-body');
if(e.target.localName == 'div'){
$('.item-body').not(__this).slideUp();
$(this).next('.item-body').slideToggle();
}
});
答案 0 :(得分:2)
this
是纯javascript的对象,你使用jquery的not
方法和javascript对象
$('#MixIt .item').on('click', function (e) {
if (e.target.localName == 'div') {
$('.item-body').not($(this)).slideUp();
$(this).next('.item-body').slideToggle();
}
});
答案 1 :(得分:0)
$(this)应该像这样,
$('#MixIt .item').on('click', function(e){
if(e.target.localName == 'div'){
$('.item-body').not($(this)).slideUp();
$(this).next('.item-body').slideToggle();
}
});