我有一个简单的问答页面。当用户单击问题时,将使用slideToggle()显示答案。
这是非常微不足道的,但我坚持使用Chrome,Safari和Opera,但是可以使用Firefox,这可能是前三个版本,因为它们是由Gecko的Webkit和Firefox运行的。我使用了所有最新版本的上述浏览器。
代码就是这个......
( function() {
$('.answer-list').addClass('answer-list-display');
$('.question button').click(function() {
$(this).next().slideToggle(300);
});
} () )
这是非常微不足道的,它应该有效。
我找到a similar answer(实际上,与我的相同),但如果我使用visibility:hidden
,答案的高度仍然存在,这会在问题之间产生差距。我也试过控制height
和动画()函数,但仍然没有成功。
所有Webkit浏览器都是第一次显示答案。但所有其他时间,我必须点击问题三(!)次来看到答案。
我知道这是一个微不足道的问题,但实际上我花了4个小时试图做到这一点,几乎没有睡觉,这真的令人沮丧。
我还从很久以前读过的一本书中找到了一个例子,Jquery The Missing Manual使用toggle()
方法将两个函数作为参数。仍然没有在Webkit浏览器中使用相同的问题。
感谢所有答案。
答案 0 :(得分:0)
确定。这是答案。
这是我身边的标记错误。我使用了无序列表。所有问题都在li
,button
在li
内。答案是在一个内部无序列表中。当用户单击该按钮时,将显示内部列表。那没用。
然后我切换到div
和p
寻求答案,并button
提问,一切正常。
当天的提示:不要使用任何类型的列表与slideToggle,fadeToggle(),toggle()或其他带有Jquery的动画。似乎Jquery计算它们太复杂了,我已经尝试过了。好吧,主要是。谁知道......