加载页面后,首次点击#tab
会触发.replaceWith
,但不会.animate
。从第二次点击开始,.replaceWith
和.animate
都能正常工作。
有什么想法吗?
$(function() {
var open = false;
$('#tab').click(function() {
if(open === false) {
$('#footer').animate({ top: '0px' });
$('#openFooter').replaceWith('<h3 id="closeFooter">Click to Close</h3>');
open = true;
} else {
$('#footer').animate({ top: '-85px' });
$('#closeFooter').replaceWith('<h3 id="openFooter">Click to Open</h3>');
open = false;
}
});
});
答案 0 :(得分:0)
可能是页脚已经是第一次打开了。尝试将open
变量的默认值设置为true
。
var open = true;
$('#tab').click(function() {
if(open === false) {
$('#footer').animate({ top: '0px' });
$('#openFooter').replaceWith('<h3 id="closeFooter">Click to Close</h3>');
open = true;
} else {
$('#footer').animate({ top: '-85px' });
$('#closeFooter').replaceWith('<h3 id="openFooter">Click to Open</h3>');
open = false;
}
});
答案 1 :(得分:0)
很难说没有看到你的HTML和CSS,但我最好的猜测是animate()
被调用 - 问题是该元素已经定位到{{1} ,所以没有什么可以动画的。
发布您的HTML和CSS,我可以提供更明确的答案。