2013-10-18 44 views
1

我正在跟随最新的Agile Web Development with Rails 4书籍在第11章(AJAX)中,本书教导我们要使用下面的代码在“create.js.erb”文件:。jQuery slideDown()没有动画(jquery-rails 3.0.4; jquery-ui-rails(4.0.5)

if ($('#cart tr').length == 1) { $('#cart').show('blind', 1000); } 

此代码导致#cart div来跳了下来,没有任何内容出现1秒后,没有滑动效果。

我试过使用slideDown();但是div只是立即出现。出于好奇,我试过slideUp();当div可见时,Voila .Diff滑了起来。

这似乎是一个jQuery错误,并想知道是否有其他人遇到过这种情况,或者对我有任何建议。

谢谢。

回答

0

听起来好像你描述的是一个场景,其中内容通过ajax加载,其中切换不是简单地显示已经存在于dom中的内容。是这样吗?否则,包装内的内容是否也隐藏了......或许用css?

你试过slideToggle();为简单的DOM显示/隐藏? ...如果它与Ajax相关,则可能需要延迟触发切换直到内容本身已加载。

+0

slideToggle()确实有效。内容正在DOM中加载。你认为动画后内容是否在DOM中加载? –

+0

我想知道是否是这种情况,但如果slideToggle正在工作,那么它必须在该事件之前可用。如果一切顺利,请不要忘记接受。 –

+0

使用slideToggle()工程(div向上或向下滑动),但.show(“盲”)不会(div立即出现)。任何想法为什么? –