手风琴、值、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 属性的破坏。
- 最后,臭名昭著的高度/宽度自动动画错误已得到解决!
太好了!
非常感谢!
虽然我非常喜欢 jQuery,但我还是必须坚持使用 moofx(以及 prototype-lite)。
moofx 有“内置检查,可以防止用户通过多次疯狂点击破坏效果”,而 jQuery 没有。(他们也知道如何拼写“手风琴”。)
很容易通过“多次疯狂点击”来“破坏”jQuery 手风琴(以及切换功能)。我知道这完全是在 jQuery 的事件处理和效果部分,但我不想修改任何脚本,以便保持升级方便。
干杯。
嗨 Nick – 谢谢你的拼写提醒,我已经修复了。 “疯狂点击”错误绝对是一个已知问题,我正在努力解决。 一旦它完全解决,我一定会与您联系。 总体而言,只需向邮件列表或我本人发送电子邮件,您的问题就会立即得到解决。
我正在尝试使用 slideDown 和 slideUp 函数(如上面的网站中的示例)。slideUp 函数有效,但 slideDown 函数无效。此函数在演示网站上不起作用,而且我在我的网站上似乎也无法使其工作。有什么建议吗?
ron
嗨 Ron,我无法复制您提到的错误。您使用的是哪个浏览器?如果您指的是 Cody 网站上的演示,那么 slideDown 函数只有在您已经点击 slideUp 按钮后才会起作用。请告诉我是否有帮助。
实际上,我已经修复了这个问题。我使用了他的网站上的最新版本 .js,显然这是该特定版本中的一个错误。我已经安装了最新版本(来自您的下载),它可以正常工作。
但是,我遇到了一个新问题。我在以下代码中遇到了麻烦
// 示例 B 的代码
$(“input.Bslide”).click(function()
{
$(“div.contentToChange”)
.find(“p.fourthparagraph:visible”)
.slideUp(“slow”)
.end()
.find(“p.fourthparagraph:hidden”)
.slideDown(“slow”)
.end();
});
它由以下内容调用:response.write “”
上面的代码将向上滑动,然后向下滑动,然后向上滑动,然后冻结。它是非常可重复的。有什么建议吗?我想根据文本是可见还是不可见,从一个按钮切换向上滑动和向下滑动的操作。
提前感谢。
嗨 Ron,有几种方法可以实现您想要的功能,我设置了一种您可以查看的方法,如下所示
https://jqueryjs.cn/test/toggle2.html
希望这有帮助。
谢谢。这帮助很大。现在它可以正常工作了。但是,如果我在向上滑动或向下滑动操作完成之前点击,它就会变得混乱并且停止工作。我想在生产质量的网站上使用此功能。有没有办法防止点击狂的用户搞乱代码?
嗨 Ron,我已经添加了一些额外的检查,以确保它不会变得疯狂(这将很快集成到 jQuery 中,因此您不必这样做)。
https://jqueryjs.cn/test/toggle2.html
现在它可以处理大量点击,并优雅地处理它们。
我在测试网站上使用了 Frank Marcia 捐赠的示例手风琴代码,并且遇到一个小问题,即手风琴效果在第一次页面加载时不起作用,并且手风琴的所有独立组件都分开了。
导航到另一个页面,然后返回到“手风琴”页面,使效果非常流畅地工作。
这很可能是另一个脚本干扰了 jQuery 代码,我将进行调查并报告结果。
John、Frank、Lindley………等等……..非常感谢你们分享……..这是一个真正惊人的库……..对于像我这样的非程序员来说非常容易实现……..
再次感谢您的快速回复。感谢您帮助我解决这个问题。我现在发现代码在 PC 上的 IE 和 NS 以及 MAC/OSX 上的 Safari 上可以正常工作。但是,它在 MAC/OSX 上的 IE 5.2 上不起作用?
您能再帮我一次吗……
Ron:不幸的是,jQuery 不支持 Mac 上的 IE 5.*。考虑到 Apple、Yahoo 甚至微软都不再支持该浏览器,建议您考虑将其弃用。
再次感谢您的帮助。拥有公共网站的困难之一是,我无法选择用于访问网站的浏览器。我提供浏览器推荐。但目前,有很大一部分 MAC 用户使用 IE 5+ 浏览网站。该网站面向的是年龄较大、技术水平较低的人群。我希望将您的功能安装在几个关键区域,我无法承受那些目前正在运行的功能突然停止工作。您有一个很棒的概念,我将来会再查看。再次感谢您的帮助。
Ron -
我不知道实际上有年龄较大、技术水平较低的人在 Mac 上使用 IE :) 如果我是你,我会承诺如果他们从 IE 切换到实际受公司支持的浏览器,我会为他们的下一次宾果游戏付费。