我正在尝试做一个简单的动画。jQuery UI - addClass removeClass - CSS值卡住
- 您显示div。它动画正确。
- 您可以隐藏div。正确。
- 您再次显示div。它显示,但没有动画。它被卡在当你第一次打断它的价值。
所以不知何故,在[add | remove]类中发生的插值CSS在那里卡住了。第二次,[add | remove]类实际上正在运行,但是它从该类设置的css被忽略了(我认为被遮盖了)。我怎样才能解决这个问题,而不是诉诸于.animate和硬编码的风格值?整个观点是把动画的终点放在一个CSS类中。
谢谢!
<!doctype html>
<style type="text/css">
div {
width: 400px;
height: 200px;
}
.green {
background-color: green;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$('#show').bind({
click: function() {
showAndRun()
}
})
$('#hide').bind({
click: function() {
$('div').stop(true, false).fadeOut('slow')
}
})
function showAndRun() {
function pulse() {
$('div').removeClass('green', 2000, function() {
$(this).addClass('green', 2000, pulse)
})
}
$('div').stop(true, false).hide().addClass('green').fadeIn('slow', pulse)
}
})
</script>
<input id="show" type="button" value="show" /><input id="hide" type="button" value="hide" />
<div style="display: none;"></div>
您也可以看看它做什么here at jsbin
@Jason是我在jsbin中添加的链接是否正确?这听起来像你描述的问题。 – Earlz 2010-04-15 21:54:03
是的,这是我的问题的准确反映,谢谢。 – 2010-04-15 22:27:52