我不确定我的closeContent();
是不会开火的。我试图加载一些东西然后关闭它并用css3制作动画。
我也想展示装载机,但不确定它是最好的方法。
$('.show-content').on('click', function (e) {
e.preventDefault();
openContent();
});
$('#load-content .prev').on('click', function (e) {
e.preventDefault();
closeContent();
});
function openContent(){
$('#load-content').load('../views/product-page.html');
$('.container').addClass('loaded', function () {
//setTimeout(function () {
$('#load-content').html('<img id="loader" src="../assets/images/bx_loader.gif">');
$('#loader').css({border: '0', position: 'absolute', top: '26px', left: '50%', 'margin-left': '-26px'});
console.log('loading???')
//}, 60000);
});
$("#load-content").bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function () {
$(this).addClass('animate');
var body = $("body,html");
body.animate({
scrollTop: 0
}, 800);
});
}
function closeContent(){
var Loaded = !$(this).closest('.container').hasClass('.loaded');
if (!Loaded) {
$('.animate').removeClass('animate');
$("#load-content").bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function () {
$('.loaded').removeClass('loaded');
$('#show-content').remove();
});
}
}
答案 0 :(得分:0)
您需要传递this
$('#load-content .prev').on('click', function (e) {
e.preventDefault();
closeContent(this);
});
然后在函数中
function closeContent(ele){
var Loaded = !$(ele).closest('.container').hasClass('.loaded');
如果动态添加.prev
元素,则使用事件委托。
$('#load-content').on('click','.prev',function(e){
e.preventDefault();
closeContent(this);
});
或
$(document).on('click','#load-content .prev',function(e){
e.preventDefault();
closeContent(this);
});