我在.animate
整个页面上都使用 jQuery,一切都非常好,除了这一行,它在用户单击消息后向用户隐藏了“目标已完成”消息。我包括了整个函数,尽管奥秘在于动画命令的链式行。我正在使用.animate()
优雅的东西,然后在对象不在用户视线范围内时快速而肮脏.css()
……似乎无论我如何调整,这个 div 都不会动画,直到经过长时间的延迟。 ..
我已经尝试过的东西:
1) 将 jQuery 命令链分离为一次一个:--> 结果:所有动画同时执行,除了第一个动画在执行前 STILL 等待 8 秒
2) 与编写的代码完全相同,但在页面上的其他地方切换随机 div besdies "#kbm" 这显然是我真正想要隐藏的 --> 结果:新选择的 div 行为正常,所有动画都发生在以正确的顺序及时
3) 重新排列 HTML 中元素的顺序
4)尝试position: relative
而不是absolute
5 ).css
从脚本中删除命令并仅.animate
用于所有内容
JAVASCRIPT:
function loadnextpage(response)
{
word = response["word"];
imgarray = response["imgarray"];
loadgame();
$("#kbm").animate({"top": "-340"},500,function(){
$("#kbm").css("top","-1000px");
$(".key").animate({"left": "0px"},1000,function(){
$("#keyboard").css("overflow", "visible");
});
});
}
HTML:
<body>
<div id="pagec">
<div id="mainc">
<div id="wordpic"><div id="wordpicbg" class="bg"></div></div>
<div id="wordblanks"><div id="wordblankbg" class="bg"></div></div>
<div id="keyboard">
<div id="keyboardbg" class="bg"></div>
<div id="kbm"><img src="i/medal.png"><img src="i/arrow.png" id="arrow" onclick="loadnext()"></div>
</div>
</div>
</div>
</body>
CSS:
#kbm
{
display: inline-block;
position: absolute;
left: 340px;
top: -1000px;
width: 500px;
height: 340px;
}