我正在尝试自定义灯箱效果,我发现它非常复杂。经验越来越精细,但是一旦我加载模态窗口(联系人)并删除它,所有slideToggle实例都无法正常工作。
这是代码:(不确定这确实有帮助)
$('.viewinfo').on( 'click', function(e){
e.preventDefault();
$(this).parent('.project').find('.project-info').slideToggle(1500, 'easeOutCubic');
$(this).toggleClass('closeinfo');
});
$('#icon-mobile-menu').on('click', function(){
$('#mobile-nav ul').slideToggle(1500);
});
我还是jquery的新手,所以有很多我不明白...... 非常感谢任何帮助
答案 0 :(得分:1)
尝试将其更改为此(可能是委派的点击事件):
摆脱缓和效果,看看是否会导致问题暂时消失:
$('body').on( 'click', '.viewinfo', function(e){
e.preventDefault();
$(this).parent('.project').find('.project-info').slideToggle(1500);
$(this).toggleClass('closeinfo');
});
$('body').on('click', '#icon-mobile-menu', function(){
$('#mobile-nav ul').slideToggle(1500);
});
从技术上讲,你应该使用对于元素不变的直接父元素而不是body
,但body
也可以使用。
希望我能正确理解你。如果这有助于我,请告诉我......