我用 AJAX 加载页面。该页面包含以下代码(对于 div 的移动动画,#1 将其向左移动,#2 将其再次向后移动)
#1
$('#flipper').click(function () {
$(".l-l").animate({ "left": -267 }, 600, function () {
$('#flipper').addClass('flipper-h');
});
});
#2
$('#flipper.flipper-h').die(); //to prevent .live() event bubbling. I guess
$('#flipper.flipper-h').live('click', function () {
$(".l-l").animate({ "left": 0 }, 600, function () {
$('#flipper').removeClass('flipper-h');
});
});
使用该代码我有一些问题:
1)在第一页加载后,代码#2在动画开始前有一点卡顿
2)在第二个(以及更多)页面加载后,#2 代码不会触发。为什么 ?
编辑
我注意到代码#2 被无限次调用(这很奇怪)。但是,我已经通过代码修复了 1) 的情况:
$('#flipper').click(function () {
if(!$(this).hasClass('flipper-h')) {
$(".l-l").animate({ "left": -267 }, 600, function () {
$('#flipper').addClass('flipper-h');
});
} else {
$(".l-l").animate({ "left": 0 }, 600, function () {
$('#flipper').removeClass('flipper-h');
});
}
});
但问题2)仍未解决。有任何想法吗 ?