手风琴、值、onComplete 和 Bug 修复!

发布日期: 作者:

这是过去一周或更长时间发布的所有修复和新功能。我很快将在文档中添加有关它们的更多信息。

新演示

新功能

  • empty() – 可以删除元素的所有子节点。
    // Deletes the contents of all DIV elements
    $("div").empty();
  • is(Expression) – 测试匹配的元素是否与该表达式匹配。等同于:$().filter(Expression).size() > 0。
    // Tests to see if a DIV has a class of test
    if ( $("div").is(".test") ) {
      alert( "test div found!" );
    }
  • html() – 如果不为 html() 方法提供任何参数,它将返回第一个元素的 innerHTML。
    // Copy the HTML contents into a Textarea
    $("textarea").val( $("#block").html() );
  • val() – 与 html() 方法相同,但用于值参数(如果提供参数,则设置值,没有参数 – 返回第一个值)。
    // Copy a value from one input to another
    $("input#hidden").val( $("input#name").val() );
  • $.postXML() 和 $.getXML – 对于 AJAX 插件,与 $.post() 和 $.get() 相同,但强制尝试获取返回的 XML,而无论 Content-Type 如何。
    // Get the XML contents of a file
    $.getXML("file.xml",function(xml){
      $(xml).find("title") // ...
    });
  • 为动画添加了一个新的 “normal” 速度(400 毫秒)。
    // Slide a DIV in at normal speed
    $("div").slideDown("normal");
  • 现在为动画设置 onComplete 处理程序要容易得多。
    $("div").show("slow",function(){
      alert("all done!");
    });

Bug 修复

  • Opera 和 AJAX 插件现在可以很好地协同工作。
  • 已解决追加文本节点的问题。
  • 针对 IE 和 AJAX 插件的处理已优化。
  • 已修复使用 #id 表达式按标签检索的问题。
  • 已实现对包含破折号的类的删除修复。
  • 已修复将事件绑定到动态创建的 HTML 的错误。
  • 已修复 show() 默认情况下无法显示显示为 none 的元素的错误。
  • 已解决另一个 Prototype 1.3 和 jQuery 错误。
  • 已解决动画对 overflow 属性的破坏。
  • 最后,臭名昭著的高度/宽度自动动画错误已得到解决!

关于“手风琴、值、onComplete 和 Bug 修复!”的 14 个想法

  1. 虽然我非常喜欢 jQuery,但我还是必须坚持使用 moofx(以及 prototype-lite)。
    moofx 有“内置检查,可以防止用户通过多次疯狂点击破坏效果”,而 jQuery 没有。(他们也知道如何拼写“手风琴”。)

    很容易通过“多次疯狂点击”来“破坏”jQuery 手风琴(以及切换功能)。我知道这完全是在 jQuery 的事件处理和效果部分,但我不想修改任何脚本,以便保持升级方便。

    干杯。

  2. 嗨 Nick – 谢谢你的拼写提醒,我已经修复了。 “疯狂点击”错误绝对是一个已知问题,我正在努力解决。 一旦它完全解决,我一定会与您联系。 总体而言,只需向邮件列表或我本人发送电子邮件,您的问题就会立即得到解决。

  3. 我正在尝试使用 slideDown 和 slideUp 函数(如上面的网站中的示例)。slideUp 函数有效,但 slideDown 函数无效。此函数在演示网站上不起作用,而且我在我的网站上似乎也无法使其工作。有什么建议吗?

    ron

  4. 嗨 Ron,我无法复制您提到的错误。您使用的是哪个浏览器?如果您指的是 Cody 网站上的演示,那么 slideDown 函数只有在您已经点击 slideUp 按钮后才会起作用。请告诉我是否有帮助。

  5. 实际上,我已经修复了这个问题。我使用了他的网站上的最新版本 .js,显然这是该特定版本中的一个错误。我已经安装了最新版本(来自您的下载),它可以正常工作。

    但是,我遇到了一个新问题。我在以下代码中遇到了麻烦
    // 示例 B 的代码
    $(“input.Bslide”).click(function()
    {
    $(“div.contentToChange”)
    .find(“p.fourthparagraph:visible”)
    .slideUp(“slow”)
    .end()
    .find(“p.fourthparagraph:hidden”)
    .slideDown(“slow”)
    .end();
    });

    它由以下内容调用:response.write “”

    上面的代码将向上滑动,然后向下滑动,然后向上滑动,然后冻结。它是非常可重复的。有什么建议吗?我想根据文本是可见还是不可见,从一个按钮切换向上滑动和向下滑动的操作。

    提前感谢。

  6. 谢谢。这帮助很大。现在它可以正常工作了。但是,如果我在向上滑动或向下滑动操作完成之前点击,它就会变得混乱并且停止工作。我想在生产质量的网站上使用此功能。有没有办法防止点击狂的用户搞乱代码?

  7. Giuliano Marcangelo on 说:

    我在测试网站上使用了 Frank Marcia 捐赠的示例手风琴代码,并且遇到一个小问题,即手风琴效果在第一次页面加载时不起作用,并且手风琴的所有独立组件都分开了。

    导航到另一个页面,然后返回到“手风琴”页面,使效果非常流畅地工作。

    这很可能是另一个脚本干扰了 jQuery 代码,我将进行调查并报告结果。

    John、Frank、Lindley………等等……..非常感谢你们分享……..这是一个真正惊人的库……..对于像我这样的非程序员来说非常容易实现……..

  8. 再次感谢您的快速回复。感谢您帮助我解决这个问题。我现在发现代码在 PC 上的 IE 和 NS 以及 MAC/OSX 上的 Safari 上可以正常工作。但是,它在 MAC/OSX 上的 IE 5.2 上不起作用?

    您能再帮我一次吗……

  9. Ron:不幸的是,jQuery 不支持 Mac 上的 IE 5.*。考虑到 Apple、Yahoo 甚至微软都不再支持该浏览器,建议您考虑将其弃用。

  10. 再次感谢您的帮助。拥有公共网站的困难之一是,我无法选择用于访问网站的浏览器。我提供浏览器推荐。但目前,有很大一部分 MAC 用户使用 IE 5+ 浏览网站。该网站面向的是年龄较大、技术水平较低的人群。我希望将您的功能安装在几个关键区域,我无法承受那些目前正在运行的功能突然停止工作。您有一个很棒的概念,我将来会再查看。再次感谢您的帮助。

  11. David 说:

    Ron -
    我不知道实际上有年龄较大、技术水平较低的人在 Mac 上使用 IE :) 如果我是你,我会承诺如果他们从 IE 切换到实际受公司支持的浏览器,我会为他们的下一次宾果游戏付费。