【问题标题】:.show("fast") not working.show("fast") 不工作
【发布时间】:2011-12-26 16:11:30
【问题描述】:

我在这里有一个脚本,可以为 div 的高度变化设置动画,然后在标签出现之后。在此之下,我已返回 false,因此不会加载下一页。

这样就可以了

$("label#error-username_r").show();
return false;

但是,当我设置持续时间时,它会忽略它,并忽略返回 false 并像这样加载下一页:

$("label#error-username_r").show("fast");
return false;

所有代码如下:

        $("div#cover").animate
            ({
                height: window.innerHeight*0.8
                }, {queue:false, duration:300, easing:"backEaseInOut"}
            );
        $("div#cover-bottom").animate
            ({
                height: window.innerHeight*0.2
                }, {queue:false, duration:300, easing:"backEaseInOut"}
            );
        $("label#error-username_r").show();
        return false;

【问题讨论】:

  • 仅供参考,无需将标签名称放在 id 前面。这只会减慢选择器引擎的速度。 "label#error-username_r" 可以是 "#error-username_r" 等等。
  • 您的代码中一定有一些您没有向我们展示的内容,因为.show("fast") 在正确使用时可以正常工作。你可以在这里看到它的工作原理:jsfiddle.net/jfriend00/V6DYz
  • 在我从 jQuery 网站添加了 ease 插件之前,它工作正常。当我删除 .animate 中的缓动设置时,它又可以正常工作了吗?
  • 可能是引入第三个jquery插件时与原生jquery代码冲突。也许尝试重新排序您的 jquery 代码,比如在 </body> 之前包含它们。并不总是需要将它们放在标题中。
  • @PeterStuart - 要结束这个问题,您应该自己发布一个答案,解释这是与 jQuery 缓动插件的某种错误/冲突。然后将您自己的答案打上绿色复选标记。

标签: jquery jquery-plugins jquery-animate show


【解决方案1】:

没有 HTML 很难找出真正的问题。我不认为这是因为show("fast") 在这里失败了。一定是其他一些行为不正确的代码。

您可能想尝试将持续时间作为传递参数,如下所示

("#error-username_r").show(1000);

但我怀疑这也能真正解决您的问题,正如我之前所说,错误很可能在您代码的其他地方。

无论如何,我建议您尝试Firebug 或任何其他 Web 开发工具来检查 js 错误并查看错误消息是什么。

【讨论】:

  • 您好。我已经使用了萤火虫。我现在实际上遇到了各种错误。 Firebug 正在使用此缓动插件解决错误,因此我将删除它并找到替代方法。谢谢:)
  • 我在您的问题下添加了评论。我建议您可以尝试重新组织您的 jquery 代码。看看你是否可以通过不删除缓动插件来解决它。值得一试。
  • 我遇到了同样的问题。 stackoverflow.com/questions/3428766/… 帮助了我。
【解决方案2】:

我自己有时也注意到类似的行为。我开始把我的价值观放在:

$("#error-username_r").show(200);

这总是对我有用。

【讨论】:

  • 与问题无关。应该是评论,而不是答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 2011-07-28
  • 2011-08-13
相关资源
最近更新 更多