可扩展侧边栏菜单 Screencast

发表于 作者

这是第一个(希望是很多)Screencast,它将为 jQuery 实践的简单演示提供快速教程。我计划根据我最近的演讲再做 2-3 个——希望我可以在接下来的几周内发布这些。 (哦,如果我听起来很累——那是因为我确实很累。)享受吧!



jQuery 演示——可扩展侧边栏菜单 on Vimeo

或者:观看 原始 (.mov, 3.85MB) 视频。(我怀疑这个版本更清晰——但并非所有人都支持 Quicktime 文件)

文件下载

jQuery 按钮大赛获奖者

发表于 作者

投票结果已经出来了!以下是 投票jQuery 按钮大赛的获奖者。

获奖者

  1. 一等奖(93 票):两本书——Ajax Design Patterns 和 John Resig 的即将出版的 Pro JavaScript Techniques
    Ned Collyer,澳大利亚:

    HTML: (将此复制到您的网站以使用此按钮)

  2. 二等奖(83 票):一本书——Foundations of Ajax
    Cyril Demars,法国:

    HTML: (将此复制到您的网站以使用此按钮)

  3. 三等奖(75 票):$10 现金到您选择的 PayPal 账户!
    Altstack,日本:

    HTML: (将此复制到您的网站以使用此按钮)

我对结果很满意,尺寸和风格都有很好的混合——适合每个人。如果每位获奖者可以 联系我,我们会立即安排您的奖品。

请记住:即使您 最喜欢的参赛作品没有获奖,但这并不意味着您不能使用它来推广 jQuery。

另一方面:jQuery 网站的重新设计(和重组)正在如火如荼地进行。有几位专业的网页设计师慷慨地捐献了时间,让新网站栩栩如生。预计很快就会有更多关于此方面的更新。

我再次感谢所有参与者的参与——这是一个很棒的比赛。我非常高兴,希望您也是!

为 jQuery 按钮投票

发表于 作者

投票现已结束!谢谢大家参与!结果可以在这里找到:jQuery 按钮大赛获奖者.


jQuery 按钮大赛的下一轮即将开始!经过仔细的考虑,评委们将 123 个 jQuery 按钮提交作品缩减至仅 30 个。我们对提交作品的数量和质量感到十分震惊,并想亲自感谢所有参与者。有很多优秀的参赛作品,但最终,以下 30 个按钮因其清晰度、构图和原创性而被选中。

现在轮到您来帮忙了!为了将结果缩减到最终的三个获胜按钮,我们需要您投票选出您喜欢的按钮。您可以投票给任意数量的按钮,但只能投票一次。

为您最喜欢的按钮投票

您的投票会被跟踪,并且只会被计算一次——但您可以随意投票给您喜欢的任意数量的按钮。

投票将在周一晚上 11:59(EST,GMT -0500)结束。所以现在就参与投票吧——让您的决定有意义!

jQuery 1.0.3

发表于 作者

另一个错误修复版本已准备好供所有人使用!强烈建议您立即升级。与往常一样,如果您发现错误,请 将其添加到错误跟踪器

与上一个版本一样,jQuery 1.0.3 仅包含错误修复——将所有 API 添加/更改/删除保留到下一个完整版本:jQuery 1.1。

再次感谢 Jörn Zaefferer所做的出色工作,他一直关注着错误,并修复了绝大多数错误。这个版本的发布很大程度上归功于他。

立即下载

此版本包含一个新软件包:与此版本相关的所有内容的完整 zip 文件。这包括三个版本的 jQuery(常规版、精简版和压缩版)、测试套件和所有文档。现在,您不必自己构建它,只需拥有自己的副本即可。

已关闭的工单

此版本中已关闭的所有错误或改进的完整列表

注意:虽然下面显示了大约 60 个错误,但其中许多是垃圾邮件发送者搞的——所以我不确定哪些错误是此版本修复的,哪些只是被重新关闭的僵尸错误。我非常肯定,虽然此版本修复了很多错误,但没有 60 个。

  1. 悬停跨浏览器问题
  2. hoverClass
  3. slideUp/Down 在 Opera 9.01 中有 bug
  4. jQuery 的 toggle();与 moo.fx 的 toggle();冲突
  5. 动画中的 FX 闪烁错误
  6. .css() 返回错误的值
  7. 规范化事件对象
  8. 不透明度应为 1.0
  9. 将 thead 追加到表格
  10. ‘e’ 传递给 JQuery.css() 的问题
  11. [PATCH] 已解决 IE 不透明度问题
  12. show 在回调中使用时有 bug
  13. [jQuery] hover 函数没有调用 mouseout 回调
  14. children() 可能不返回任何内容
  15. [PATCH] $().hover 在 Firefox 中出错
  16. 上下文正在被修改
  17. .text() 包含注释
  18. 动画排队已损坏?
  19. IE 在半透明抗锯齿文本上的怪异行为,一个小小的修复
  20. $([[‘a’, ‘b’]]).length
  21. $().trigger 自第 127 版起已损坏
  22. Firefox 中生成的 JS ‘警告’
  23. Mozilla/Firefox 浏览器的泄漏(使用 addEventListener)
  24. Safari 在测试套件中崩溃
  25. remove() & remove(expr) 不起作用
  26. [PATCH] innerWidth 和 innerHeight 在没有边框的 IE 中失败
  27. $.load 需要回调
  28. o.getAttribute 不是函数(第 634 行)
  29. 不可用的响应头会破坏 Firefox 1.0
  30. show 和 hide 存在问题
  31. 嵌套在 display:none 中会导致 width()/height()=0
  32. this.set 不是函数
  33. ifModified 参数传递给 $.ajax()
  34. ready 在使用 https 和 msie 时不起作用——已修复
  35. 传递给 $.get() 的参数被错误地附加到查询字符串中
  36. ajax 摘要/待办事项列表
  37. $(‘node1/node2’) 在 node1 为空时会报错
  38. IE 的 float 属性
  39. IE 中不透明度不起作用
  40. $.postJSON
  41. cloneNode() 问题
  42. “name.replace 不是函数” 在 1.0.2 中
  43. 不可能隐式放弃搜索上下文(没有 .end())
  44. 隐藏/显示后,html 的 load() 显示不正常
  45. 分离私有和公共 $.extend
  46. $.load 应该自动被 JQuerified
  47. ajaxStart 和 ajaxStop 存在问题
  48. .add( jQuery )
  49. 设置 iframe src 属性时的双重赋值
  50. Interface Autocompleter 未正确解析 XML
  51. jQuery.ajax 中的一些变量在 1.0.2 中未正确初始化
  52. $.ajax:像 load() 一样为“html”数据类型评估 JS
  53. $(‘something’).load(‘test.html’).show(“slow”) 不起作用
  54. jQuery “val” 的 API 文档修改
  55. jQuery 1.0.2 似乎破坏了 Interface Elements Autocompleter 插件
  56. CSS 中的连字符,IE6
  57. 断言 animate 不会改变哈希参数
  58. .animate() 溢出未重置

jQuery 按钮大赛——众多奖品!

发表于 作者

更新:比赛现已结束!感谢大家提交的作品。我们将很快开始评审过程。


为了鼓励人们推广 jQuery 项目,并让尽可能多的人参与到社区中,我们将举办一个比赛,设计一个“Powered by jQuery”按钮。拥有一个设计精美的按钮将是 jQuery 用户提高项目知名度的好方法,同时也是一个让您的网站看起来很酷的元素!

规则

  1. 比赛将持续到 11 月 3 日。获奖者将在 11 月 5 日公布。
  2. 所有参赛作品必须针对网络进行优化(8 位 PNG),图像大小不应超过 173×31 (示例)。
  3. jQuery 团队有权以任何他们希望的方式使用提交作品。这将防止将来出现任何版权问题。获奖者还必须能够提供 PSD(或 AI)文件,以便图像可以在将来进行维护。
  4. 将为前 1、2 和 3 名提交作品颁发奖品。
  5. 由 jQuery 创建者 John ResigRey Bango 主持,由 jQuery 社区进行最终投票。
  6. 您应该在按钮中使用 jQuery 帽子 logo(您可以根据需要重新绘制它)。如果需要,这里有一个 帽子的原始 PSD

奖品

  1. 一等奖:两本书 - Ajax Design Patterns 和 John Resig 的即将出版的 Pro JavaScript Techniques
  2. 二等奖:一本书 - Foundations of Ajax
  3. 三等奖:10 美元现金,支付至您选择的 PayPal 账户!

奖品将通过普通邮件寄往世界各地。

所有投稿应通过标准超链接在本帖的评论区进行。请确保在提交作品时提供有效的电子邮件地址。

这是一个真正帮助扩展 jQuery 社区的机会,创建一个顶级按钮,将获得大量曝光。祝大家好运!

Firefox 之友 - Mozilla 使用 jQuery。

发布于 作者

Mozilla 刚刚发布了 http://www.worldfirefoxday.com/,一个感谢所有为 2006 年世界 Firefox 日做出贡献的人的网站。该网站允许用户搜索朋友姓名,并以有趣的方式显示它们。

该脚本是 Rotator 脚本和一些流畅的 AutoComplete 的组合,它为搜索提供动力。

慢慢地输入一个名字,看看结果如何实时过滤并加载到轮播器中。然后,如果结果数量超过 20 个,您可以“分页”浏览它们。该脚本支持“上一个”按钮,但它已被隐藏。

screenshot.jpg

也发布在 Drinking rockstars and programming

斑马表格对决

发布于 作者

作为先前 事件选择器对决 的后续行动,一场新的 斑马表格对决 来了。

挑战

使页面上的所有表格都具有条纹(“斑马”)背景(每隔一行颜色不同)。

规则

  • 奇数/偶数样式应通过为“奇数”编号的表格行添加一个类来完成。
  • 这必须能够在多个表格上工作。(这并不像找到所有行,然后遍历每个奇数行那么简单,否则偶数行可能会在下一个表格中突出显示)。
  • 代码应尽可能优雅,尽可能使用库的功能。速度不是问题。

预期结果
zebra-fig1.gif

纯 DOM 脚本:(演示)

var tables = document.getElementsByTagName("table");
for ( var t = 0; t < tables.length; t++ ) {
  var rows = tables[t].getElementsByTagName("tr");
  for ( var i = 1; i < rows.length; i += 2 )
    if ( !/(^|\s)odd(\s|$)/.test( rows[i].className ) )
      rows[i].className += " odd";
}

注意:这包括一个检查,以确保表格行上不存在“奇数”类。所有现代库都对此进行了处理。

Yahoo UI:(演示)

var tables = document.getElementsByTagName("table");
for ( var t = 0; t < tables.length; t++ ) {
  var rows = tables[t].getElementsByTagName("tr");
  for ( var i = 1; i < rows.length; i += 2 )
    YAHOO.util.Dom.addClass( rows[i], "odd" );
}

注意:虽然他们自己的开发者网站 不同意

Dojo:(演示)

var each = dojo.lang.forEach;

each(document.getElementsByTagName("table"), function(table){
  each(table.getElementsByTagName("tr"), function(row,i){
    if ( i % 2 == 1 )
      dojo.html.addClass( row, "odd" );
  });
});

注意:一个常用函数被分配给一个变量,以使代码更短。

Prototype (1.4.0):(演示)

$A(document.getElementsByTagName("table")).each(function(table){
  $A(table.getElementsByTagName("tr")).each(function(row,i){
    if ( i % 2 == 1 )
      Element.addClassName( row, "odd" );
  });
});

Mochikit:(演示)

var byTag = getElementsByTagAndClassName;

forEach( byTag("table"), function(table) {
  var rows = byTag( "tr", null, table );
  for ( var i = 1; i < rows.length; i += 2 )
    addElementClass( rows[i], "odd" );
});

注意:一个常用函数被分配给一个变量,以使代码更短。

Prototype (1.5.0):(演示)

$$("table").each(function(table){
  Selector.findChildElements(table, ["tr"])
    .findAll(function(row,i){ return i % 2 == 1; })
    .invoke("addClassName", "odd");
});

mootools:(演示)

$$("table").each(function(table){
  $ES("tr", table).each(function(row,i){
    if ( i % 2 == 1 )
      row.addClass( "odd" );
  });
});

jQuery:(演示)

$("tr:nth-child(odd)").addClass("odd");

如果您觉得您有比这里发布的更优雅的解决方案,请在下面发布它们,以便更新列表。


新投稿

这些是其他读者提交的新条目。

AJS:(演示)

AJS.map(AJS.$bytc("table"), function(table) {
 AJS.map(AJS.$bytc("tr", null, table), function(row, i) {
   if ( i % 2 == 1 && !/(^|\s)odd(\s|$)/.test( row.className ) )
     AJS.setClass( row, "odd" );
 });

Prototype 1.5.1: (demo)

$$('tr:nth-child(odd)').invoke('addClassName', 'odd');

1.0.2 中的微小 API 更改

发布于 作者

我忘记在 1.0.2 版本说明 中提及,前几天,有一个微小的 API 更改。这是一个错误,因为我们应该等到下一个主要版本 (jQuery 1.1) 才会进行 API 更改。

正如 Steven Wittens 所总结的那样,以下是更改背后的前提

在 jQuery 1.0.2 中,‘success’ 回调函数的第一个参数已更改为返回实际数据,而不是 XMLHttpRequest 对象。使用 ‘dataType’ 参数到 $.ajax() 来控制数据的返回方式。请注意,jQuery 现在可以为您解析 XML、JSON 和 JavaScript。

jQuery 1.0.1

$.ajax( {
  success: function (xmlhttp) {
    var data = $.httpData( xmlhttp );
    // 'data' holds the response data from the server
  }
);

jQuery 1.0.2

$.ajax( {
  success: function (data) {
    // 'data' holds the response data from the server
  }
);

感谢,Steven,为这个提纲 - 对不起,大家,给你们造成的不便!

jQuery 1.0.2

发布于 作者

jQuery 1.0.2 现在可以供您使用了!此版本是一个巨大的错误修复版本 - 强烈建议您立即升级。与往常一样,如果您发现错误,请 将其添加到错误跟踪器

除了拥有更好的测试套件之外,此版本的重大改进是针对常见任务(如 AJAX 操作)提供更好的跨浏览器兼容性。但是,在功能上,此版本没有添加任何主要功能(尽管,预计 1.1 版本会有一些新代码)。

我想借此机会向大家介绍 Jörn Zaefferer。此版本的很大一部分是通过他实现的。他负责彻底改造测试套件(现在拥有超过 260 多个测试!)以及修复大多数当前错误和增强功能(超过 60 个!)。如果您想感谢某个人的话,应该感谢他。

立即下载

已关闭的工单

此版本中已关闭的所有错误或改进的完整列表

  1. 跨浏览器尺寸
  2. IE 文本渲染为完全不透明
  3. 如果已设置不透明度,FadeIn/FadeOut 将中断
  4. css(‘top’) 和 css(‘left’)
  5. fx.custom() 在 IE 中不适用于不透明度
  6. IE 中不透明度不起作用
  7. jQuery IE6 错误,带有 base href
  8. [PATCH] 已解决 IE 不透明度问题
  9. 命名空间元素和属性的选择
  10. append(html) 函数失败,如果 html 是一个表格片段,并且以空格开头
  11. IE 在半透明抗锯齿文本上的怪异行为,一个小小的修复
  12. 修复了表格中 getAttribute(‘action’) 的问题
  13. IE 在嵌套的 each 循环中为 $(this) 抛出错误
  14. IE5 脚本错误
  15. Mozilla/Firefox 浏览器的泄漏(使用 addEventListener)
  16. filter 似乎没有正常工作
  17. $(‘node1/node2’) 在 node1 为空时会报错
  18. add 不会合并集合
  19. 扩展 not(jQuery) 以能够与集合一起操作
  20. 记录 $(”
  21. $.load 需要回调
  22. [PATCH] $().hover 在 Firefox 中出错
  23. :not() 中的属性值
  24. children() 可能不返回任何内容
  25. IE 在嵌套的 each 循环中为 $(this) 抛出错误
  26. ajax 摘要/待办事项列表
  27. Safari 在测试套件中崩溃
  28. 错误的 Safari 检测
  29. IE 和 Firefox 中 next() 的行为不同
  30. [修补程序] IE 事件系统中的内存泄漏
  31. AJAX 的不同编码
  32. IE 6 删除空格,例如,在使用 append 时
  33. hover() mouseout 错误
  34. $.postJSON
  35. $.get() 的参数附加到查询字符串的方式错误,
  36. 调用没有参数的 load 会抛出异常
  37. 在 IE 中返回脚本标签失败
  38. 不可用的响应头会破坏 Firefox 1.0
  39. ifModified 参数传递给 $.ajax()
  40. AJAX 的超时作为参数
  41. 替换 :input、:radio 等
  42. Ajax 重构
  43. jQuery 的 toggle(); 与 moo.fx 的 toggle(); 混淆
  44. 错误解析不透明度
  45. .constructor == Function 不够
  46. [修补程序] $().hasClass()
  47. 创建 IE 5.0 支持插件
  48. [PATCH] innerWidth 和 innerHeight 在没有边框的 IE 中失败
  49. sibling() 返回兄弟节点和主题
  50. IE 无法使用 #element/* 表达式
  51. XHTML 表格
  52. 当 HTML 结构包含文本时,wrap 会中断
  53. 在特殊属性的情况下,针对属性 *=、^= 和 $= 的修复。
  54. `]` 中断选择器
  55. 再次包含 jQuery 会覆盖已注册的 document-ready 事件
  56. 表达式在 FireFox 1.5.0.6 中生成错误
  57. 支持祖先::轴
  58. prev() 未按预期工作
  59. nth-of-type
  60. Animate 函数发布
  61. attr(‘checked’, true) 不起作用

投票:您是谁,您如何使用 jQuery?

发布于 作者

在评论中留下您的答案。

  1. 姓名(如果必须,可以匿名)
  2. 您是在公司使用 jQuery 还是用于个人用途?
  3. 描述您如何使用 jQuery。
  4. 展示!链接到您使用 jQuery 的任何项目。

我们真的希望更好地了解你们中的许多人,不仅仅是硬核开发者,还有日常用户。所以告诉我们吧!

(或者,“让我们了解您的一些情况,并无耻地宣传您的项目!”)。

更新:感谢所有迄今为止做出回应的人。

我必须说,我惊讶于你们中有多少人将 jQuery 用于公司网站。你们中许多人(或您的公司)可能考虑从 主页 捐赠给 jQuery 项目。当然,这不是必需的,但它确实通过支付开发成本和控制每月服务器账单来确保 jQuery 保持强大。:)

除此之外,我想补充一点:错误报告、插件和其他对社区的贡献与捐款一样有价值。我的观点是:让我们记住,要以任何方式回馈。

所有您的评论都非常宝贵,无论您是从事公司网站的大人物,还是为乐趣而构建网络应用程序的小人物。请继续!