Jquery QuestionAnswer 与 slideToggle

标签 jquery css slidetoggle

我有一个简单的问答页面。当用户点击一个问题时,答案将通过 slideToggle() 显示。

这是非常微不足道的,但我坚持使用 Chrome、Safari 和 Opera,但可以在 Firefox 上工作,这对于前三个是可以预期的,因为它们由 Webkit 运行,而 Firefox 由 Gecko 运行。我使用上述浏览器的所有最新版本。

代码是这样的……

( function() {
    $('.answer-list').addClass('answer-list-display');
    $('.question button').click(function() {
        $(this).next().slideToggle(300);
    });
} () )

这很简单,应该可以工作。

我找到了 a similar answer (实际上,和我的一样)但是如果我使用 visibility:hidden,答案的高度仍然存在,这会在问题之间造成差距。我也尝试通过控制 height 和 animation() 函数来做到这一点,但仍然没有成功。

所有 Webkit 浏览器都在第一时间显示答案。但所有其他时候,我必须点击问题三(!)次才能看到答案。

我知道这是一个微不足道的问题,但我实际上花了我生命中的 4 个小时来尝试这样做,几乎没有 sleep ,这真的很令人沮丧。

我还从很久以前读过的一本书 Jquery The Missing Manual 中找到了一个示例,该示例使用 toggle() 方法并将两个函数作为参数。仍然无法解决 Webkit 浏览器中的相同问题。

谢谢大家的回答。

最佳答案

好的。这就是答案。

这是我这边的标记错误。我使用了无序列表。所有问题都在 li 中,buttonli 中。答案在一个内部无序列表中。当用户单击该按钮时,将显示内部列表。那没有用。

然后我切换到 divp 获取答案,切换到 button 获取问题,一切正常。

每日提示:不要将任何类型的列表与 slideToggle、fadeToggle()、toggle() 或其他 Jquery 动画一起使用。看来Jquery计算起来太复杂了,我都试过了。好吧,主要是。谁知道...

关于Jquery QuestionAnswer 与 slideToggle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24137382/

相关文章:

jQuery 验证不以 0 或 1 开头的数字

javascript - 使用 jQuery 单击时显示 div

jquery - 使用 RAZOR MVC5 Ignite UI 数据网格重新绑定(bind)不起作用

jquery - 为来自 jQuery 的伪元素应用 CSS 样式

android - 三星银河 2 中的 CSS 兼容性

javascript - Accordion 功能

javascript - 如何在用户每次访问网站时加载最新的javascript文件

javascript - 传单中未触发 oncopy 事件

javascript - jQuery 中的生涩动画问题

javascript - 元素不会显示 js 切换功能