可扩展侧边栏菜单屏幕截图

发布日期: 作者:

这是第一个(希望也是很多个)屏幕截图,它将提供一个简单的 jQuery 演示的快速教程。我计划根据我最近的演讲做至少 2-3 个,希望我能在接下来的几周内慢慢发布它们。(哦,如果我听起来很累,那是因为我确实很累。)享受吧!



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

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

文件下载

jQuery 按钮竞赛获奖者

发布日期: 作者:

投票已经结束!感谢大家的参与!结果可以在此处找到:jQuery 按钮竞赛获奖者

获奖者

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

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

  2. 二等奖(83 票):一本书 - 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. hover 跨浏览器问题
  2. hoverClass
  3. Opera 9.01 中 slideUp/Down 存在错误
  4. jQuery 的 toggle(); 与 moo.fx 的 toggle(); 混淆了
  5. 动画中的 FX 闪烁错误
  6. .css() 返回错误的值
  7. 规范化事件对象
  8. 不透明度应变为 1.0
  9. 将 thead 附加到表格
  10. JQuery.css() 传递给 'e' 的问题
  11. [补丁] 已解决 IE 不透明度问题
  12. show 在回调中使用时的错误
  13. [jQuery] hover 函数不调用 mouseout 回调
  14. children() 可能不返回任何内容
  15. [补丁] Firefox 中 $().hover 错误
  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. [补丁] IE 中没有边框的 innerWidth 和 innerHeight 失败
  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. 在 hide/show 之后,html 的 load() 不会正确显示
  45. 将私有和公共 $.extend 分开
  46. $.load 应该自动应用 jQuery
  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 项目,并让更多人参与社区,我们正在举办一项比赛,来构建一个“由 jQuery 提供支持”的按钮。拥有一个设计精良的按钮将是 jQuery 用户提高项目知名度的好方法,同时在您的网站上也看起来很酷!

规则

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

注意:这包括一个检查以确保 '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,感谢您的总结 - 对由此造成的不便,我们表示歉意!