closeContent()
fucntion
的某个问题,我无法确定如何防止每次单击.show-content
。
过渡本基本上不应踢两次。
任何帮助将不胜感激。
$('.show-content').on('click', function (e) {
e.preventDefault();
openContent();
});
$('#load-content').on('click','.prev',function (e){
e.preventDefault();
closeContent(this);
});
function openContent(){
$('#load-content').load('../views/product-page.html');
$('.container').addClass('loaded');
$("#load-content").on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function () {
$(this).addClass('animate');
var body = $("body,html");
body.animate({
scrollTop: 0
}, 800);
});
}
function closeContent(ele){
var Loaded = !$(ele).closest('.container').hasClass('loaded');
if (!Loaded) {
$('.animate').removeClass('animate');
$("#load-content").on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function () {
$('.loaded').removeClass('loaded');
$('#show-content').remove();
});
}
}
您不应该嵌套事件...无论如何,作为一个简单的修复,使用one()
:
$("#load-content").one("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function () {...});
我不确定您想要什么,但是通过它的外观,您正在通过e.preventDefault();
停止任何默认操作,并且由于它没有解决您的问题从冒泡DOM树,以防止任何父母通知事件,您可以使用event.stopPropagation()
在此处检查文档。希望回答您的问题