jQuery UI 1.5b4 发布,包含效果和新主页

发布日期: 作者:

jQuery UI 1.5b4

注意: 我们原本打算几个小时前发布 1.5b3,但遇到了两个严重问题,迫使我们放弃它并发布 b4。对于由此造成的不便,我们深感抱歉。

jQuery UI 1.5 的第三个也是最后一个测试版终于发布了。为了发布这个版本,我们投入了数百小时的时间来修复超过 50 个错误,一切都是为了稳定性。jQuery UI 1.5b4 是发布候选版本前的最后一个版本,并且只有 5 个主要错误尚未修复,您可以在接下来的几天内看到下一个版本发布!

虽然它主要是一个稳定性版本,但我们也引入了许多新的 API 辅助函数删除了对 dimensions 依赖项的依赖,并通过在核心代码中引入一个通用的 widget 工厂,使所有插件都变得更小。更棒的是,UI 组件触发事件(例如 Draggables 中的“mousemove”)的性能在最近对 jQuery 核心进行的更改中得到了显著提升。

随着发布候选版本紧随其后,我们还将发布一个实时测试套件,供大家在任何平台上使用,帮助我们追踪问题并为最终版本修复问题。没错,这意味着您将在本月内看到一个稳定、可靠且性能优化的 1.5 版本发布!

获取完整软件包(此软件包包含您需要的自定义构建 jQuery)

jquery.ui-1.5b4.zip

jQuery Enchant 成为 jQuery UI 的一部分

经过几周的讨论,我很高兴地宣布未发布的 jQuery 效果套件“Enchant”,以前作为 jQuery UI 的姐妹库介绍,现在已成为jQuery UI 的一部分。在 1.5b4 版本中,您将在项目的文件夹中看到一堆新文件!

jQuery UI 效果可以独立使用或与 UI 结合使用,并具有独立的核心,它扩展了 jQuery 核心以引入缓动、类转换(变形)颜色动画。所有后续效果都与主 API 密切集成,可以独立使用 ($(..).effect()) 或直接从您已经知道的 jQuery 方法中使用 (hide()/show())。

目前没有关于丰富的效果 API 的文档,但我们会确保在 jQuery UI 1.5 正式发布之前发布文档。在此期间,您可以随意开始深入研究代码,并关注更多关于新效果的博客文章!

总的来说,我们为您提供了超过 15 种现成的效果,供您在项目中使用,不仅包括您从 script.aculo.us 中了解的所有内容 (blind,bounce,drop,fold,slide …),而且还包括供您享受的全新效果 (transfer, explode. clip, scale)!

jQuery UI 有了一个新家

UI Website

我非常高兴地宣布,jQuery UI 终于在 http://ui.jquery.com 找到了新家,还有全新的内容新的组合标志以及全新的设计。经过几周的迭代,我们终于找到了时间将精力集中在网站上。

新网站包含一个全新的 下载构建器,其中已经包含效果、真实世界演示轮播 以及一个 功能演示套件,使您能够轻松查看和尝试 UI 示例及其语法。在接下来的几周内,我们还计划推出一个主题部分,其中包含有关下载 UI 主题以及如何制作 UI 主题的说明,以及一个教程部分,其中将提供易于学习的教程,让您轻松掌握控制 UI 小部件的方法。

衷心感谢 Liferay 的艺术总监 Brian Miller,他出色地完成了这项工作,投入了无数个小时来实现这种漂亮的设计!

很快就会再见!

Paul Bakaus 和 jQuery UI 团队

jQuery 全球冲刺取得巨大成功

发布日期: 作者:

jQuery 全球冲刺(请参阅 上一篇文章)已经结束,它对我们许多人来说是一次很棒的动力和体验。

在冲刺期间,我们充分利用了 冲刺维基页面,它现在作为我们所取得成就的参考,包括会议摘要和 IRC 日志。

我们距离 jQuery UI 1.5 的发布又近了一步,有 20 多人积极参与,在四个不同的组别中工作。

开发组

开发组 专注于 jQuery UI 的代码库。他们在我们的 bug 跟踪器中修复了 20 多个问题,并实现了缺失的功能,例如 Droppables 中的贪婪选项。此外,我们以非常积极的方式改进了 UI 的核心代码:我们摆脱了两个依赖项 (jquery.dimensions.js 和 ui.mouse.js),并添加了一个 (ui.base.js)。影响如此之大,甚至核心代码也发生了改变:jQuery 本身现在包含了 Dimensions 插件中的有用方法(更多信息将在即将发布的博客文章中介绍)。

测试组

测试组 专注于为每个 UI 插件编写和运行一整套单元测试。这是至关重要的,以确保每个插件的所有功能在所有 支持的浏览器 中都经过全面测试。冲刺后的单元测试覆盖率约为 60%。我们的目标是在 1.5 正式发布之前将其提高到 90% 以上。

演示组

演示组 创建了一个出色的功能演示模板以及许多插件的功能演示。此外,许多志愿者还致力于制作令人惊叹的真实世界示例,展示特定插件如何在真实世界场景中使用。所有演示都将融入我们即将发布的网站上的新演示类别。

文档组

文档组 有幸仔细检查了每个 UI 插件的 文档,将其与源代码、单元测试和演示页面进行比较。他们编写和更新了文档,以确保其准确性和清晰度,即使是 jQuery UI 的绝对新手也能轻松理解。

感谢

总之,我们并没有完全实现所有目标,我们仍然需要努力修复所有未解决的问题。但是,我们取得了巨大的进步,如果没有所有帮助过我们的人的共同努力,这一切都是不可能的。不仅如此,冲刺也是一种极好的方式,可以介绍和激励新人加入 UI 项目。

衷心感谢 所有在冲刺期间和冲刺之前提供帮助的人,尤其是 Richard Worth,他最初提出了这个想法,并使这场活动成为可能(他完成了所有繁重的工作 ;-)),Eduardo Lundgren,他在冲刺期间管理了演示组,并且在冲刺期间工作了超长的时间,以及所有在两天内都做出了巨大贡献的其他人。

但直到事情结束才算结束:在我们将 UI 1.5 的最终版本发布之前,我们仍然需要处理 bug 跟踪器中打开的 46 个问题。因此,我们已经在考虑后续的冲刺。更多相关信息将在不久后发布!

很快就会再见!

Paul Bakaus 和 jQuery 团队

jQuery UI 全球冲刺:3 月 14-15 日

发布日期: 作者:

jQuery UI 团队很高兴地宣布其首个 全球冲刺,将在 2008 年 3 月 14 日至 15 日(星期五和星期六)举行。两天时间里,我们将进行测试、修复、编写文档以及完成各种工作。我们的目标是让 jQuery UI 1.5 版本(alphabeta)准备好发布正式版,我们邀请所有有兴趣的人加入我们。无论您只有一小时时间,还是一个下午时间,都可以加入我们,一起快速奔跑。

如何参与?

我们将在两天冲刺期间的整个时间里都在 IRC (#jquery-sprint on freenode) 上聚集在一起,并举行一些预定的会议,确保每个人都在同一页上,并确保工作顺利进行。除此之外,我们将尽我们所能,尽可能快地完成工作。打开工单,关闭工单,破坏东西,修复其他东西,以及大家最喜欢的消遣方式:编写文档

我是新手,可以帮忙吗?

当然可以。如果您以前考虑过为 jQuery 或 jQuery UI 做贡献,但一直没有找到合适的时间或动力,那么这次冲刺是您参与其中的最佳时机。Paul 和我会在场,以及 jQuery 团队 的其他成员,帮助人们入门,尤其是如果您是第一次参与。我们会帮助您帮助我们,无论您想以何种方式参与。这可能是测试、编写文档、工单分类、修复 bug、编写演示,甚至只是在我们进行开发的过程中尝试新东西,并提供宝贵的反馈。我们希望确保这个版本在所有 支持的浏览器 上都非常稳定,包括您的浏览器。

更多详细信息

我们创建了一个维基页面 来帮助协调这个大型活动。它包含更多关于计划内容、如何参与的详细信息,并在整个冲刺过程中更新以显示状态和下一步行动。如果您有兴趣,即使您只有几个小时(或者不确定您将花费多少时间),我们也邀请您在页面上添加您的姓名作为参与者。此外,请随时指定您愿意和/或能够做什么。谢谢!

jQuery UI 1.5b:新 API、更多功能、性能大幅提升

发布于 作者

大家好!

jQuery 团队很自豪地发布即将推出的新版 UI 的第一个 Beta 版本,jQuery UI 1.5!这个版本经历了漫长的开发过程,最初计划只是一个错误修复版本,但它逐渐发展成为我们无法称之为 1.0.1 的版本,甚至不是 1.1,不,它太棒了,我们不得不称之为 1.5。

jQuery UI 1.5 是对库的全面改进,许多组件已从头开始重写,以提高整体稳定性和性能,我们终于成功地为所有组件确定了统一的 API。所以让我们直接列出所有更改。

统一的 API

所有 UI 组件的 API 都已更新。如果您熟悉其中一个组件,现在使用其他插件应该非常容易。每个插件只有一个公开方法,所有其他方法都通过将字符串传递到公开方法中来调用,插件的初始化通过将选项哈希作为第一个参数传递来完成。现在,如果您希望在稍后时间更改和获取所有选项,可以使用新的 data 方法。可拖动组件的基本示例:


$(..).draggable({...}); // 初始化可拖动组件
$(..).draggable("disable"); // 禁用可拖动组件
$(..).data("cursor.draggable", "move") // 在拖动过程中将光标更改为 'move'

更新和修订的文档

jQuery Wiki 中的文档 已完全更新以反映最近的更改。我们还确保这次对所有回调及其参数进行了文档记录。

拖放:捕捉、相对拖放

可拖动组件和可放置组件已完全重构。它现在可能是最非破坏性的拖放实现:css 位置的 value 不会更改,除非是 'static':这意味着处于静态或相对位置的元素不会强制转换为绝对定位,这通常会破坏布局,尤其是在处理浮动元素时。

一些选项已被重命名以更好地识别:preventionTimeout 变为delaypreventionDistance 变为distance

此外,还添加了一个新的选项插件:捕捉插件。还记得停靠 Winamp 窗口吗?现在可以使用 UI 可拖动组件来实现这一点,只需将“snap”设置为选择器以选择所有要捕捉到的元素,然后就可以开始使用了。当然,您还可以使用 snapTolerance 和 snapMode 对其进行配置。

滑块:范围、多个滑块手柄和可访问性

滑块没有重构,而是从头开始完全重写。虽然它几乎与以前版本向后兼容,但它现在非常稳定,而且比以往任何时候都更加简单:moveTo 方法现在只接受两个参数:要移动滑块手柄到的值以及可选的要移动的滑块手柄的索引。想要检索特定滑块手柄的值?没问题,只需调用 $(..).slider(“value”, index)

更重要的是,滑块现在完全可通过键盘访问:现在您可以分别切换和聚焦每个滑块手柄,并使用左右键移动其位置。我们还改进了对使用鼠标的支持:单击空白区域现在会将聚焦的滑块手柄移动到单击的位置,无论您有多少个滑块手柄。

对于那些寻找高级用法的人来说,滑块现在支持范围:只需将选项“range”设置为 true 并确保您有两个滑块手柄,脚本就会在这两个滑块之间创建一个可见的范围,可以分别对其进行样式设置。脚本甚至可以确保您无法创建负范围。

可排序组件:连接的可排序组件、序列化等等

可排序组件也进行了重写,现在支持您在可拖动组件中已经知道的各种功能:光标、zIndex、revert、opacity、axis、handles、containment滚动。除此之外,您现在可以将项目序列化为 URL 哈希,并且您现在拥有经常要求的功能,即连接多个可排序组件,这样您就可以将节点从一个可排序组件拖放到另一个可排序组件。

还有更多!

这只是我个人参与的插件的一部分,最终版本将包含官方变更日志,但大多数其他插件也进行了重构,并且在日期选择器、选项卡、手风琴、可调整大小组件等等中添加了许多新功能。

……以及更少!

为了准备我们的姊妹库 Enchant,我们删除了放大镜和阴影插件并将它们移至 Enchant。别担心,您可以在我们的 SVN 主干的 trunk/fx 下找到它们。此外,由于 API 和路线图不兼容,表格排序组件已被删除。很快将有一个网格组件,其中包含其大部分功能。

……以及无数的错误修复

我们可以使事情变得容易,只需重写所有内容并删除 1.0 的所有错误票证,因为无法再追踪了,但我们没有这样做:针对 1.0 版本的所有问题都得到了解决。

有关此版本的所有更改,请参阅文档 或在代码中查找。请记住,这是一个 Beta 版本,预计会存在错误和不稳定性(但比 1.0 好 :P)。此外,如果您将任何问题报告给我们的错误追踪器,我们会非常感谢您。

现在,您可以从这里获取:http://ui.jquery.com 或者直接从我们的 Google 代码页面获取:jquery.ui-1.5b.zip。对于此版本,我们禁用了下载器,因此请下载 zip 包并包含您需要的内容。您可以在文档中阅读有关依赖项的信息。

感谢所有让此版本得以发布的贡献者,我将在最终版本说明中单独感谢你们每个人,我太懒了,不想做两次 :)

大约两周后再见!

jQuery 1.2.3:AIR、命名空间和 UI Alpha

发布于 作者

我们很高兴地宣布jQuery 的全新版本 发布。这主要是针对jQuery 1.2 的错误修复版本。您可以在错误追踪器 上查看已修复内容的完整列表。

下载

jQuery 1.2.3

如果您想从Subversion 存储库 中检出完整版本,您可以按照说明 操作,并从以下位置检出源代码

svn co http://jqueryjs.googlecode.com/svn/tags/1.2.3

重要更改

此版本的发布主要目的是修复jQuery 1.2.2 版本中的一些未解决的错误。具体来说,此版本现在与 Adobe AIR 兼容,将包含在 Drupal 6 中,并将成为 jQuery UI 1.5 的基础。此外,此版本中还包含了一些针对插件开发者的次要功能。

.data() 和 .removeData()

这些方法补充了在jQuery 1.2 中引入的、已包含的jQuery.datajQuery.removeData 方法。但是,重要的变化是,它们已针对插件开发者进行了调整。您现在可以对数据添加进行命名空间化,就像您可以对事件绑定/解除绑定 一样。例如

  $("div").data("test", "original");
  $("div").data("test.plugin", "new data");
  alert( $("div").data("test") == "original" ); // true
  alert( $("div").data("test.plugin") == "new data" ); // true

此外,插件可以覆盖获取或设置数据值的代码。例如,以下代码来自最近更新的 jQuery UI 中的可拖动组件

  $(element).bind("setData.draggable", function(event, key, value){
     self.options[key] = value;
  }).bind("getData.draggable", function(event, key){
     return self.options[key];
  });

上面的代码使得所有尝试获取和设置命名空间为 draggable 的数据的操作都将被插件直接拦截和处理(而不是直接绑定到元素)。结果是一个强大的新界面,用于处理插件内部的数据。

.unbind(“.namespace”)

在 jQuery 1.2 中,您可以添加和删除命名空间事件,但是您始终必须包含要使用的事件类型的名称。通过添加此功能,您现在可以删除所有与特定命名空间匹配的绑定事件处理程序,例如

  $("div").bind("click.plugin", function(){});
  $("div").bind("mouseover.plugin", function(){});
  $("div").unbind(".plugin"); // All handlers removed

上面的代码删除了所有绑定在“plugin”命名空间内的事件处理程序。

.trigger(“click!”)

最后,添加了一个新功能,允许将命名空间事件 排除在触发之外。例如

  $("div").bind("click", function(){ alert("hello"); });
  $("div").bind("click.plugin", function(){ alert("goodbye"); });
  $("div").trigger("click!"); // alert("hello") only

上面的代码只触发了非命名空间事件处理程序。

Alpha 版本:jQuery UI 1.5 和 jQuery Enchant 1.0

最后但并非最不重要的一点是,我们很高兴地宣布jQuery UI 的全新 Alpha 版本 发布。这是对现有代码库的全面改进,其中包含大量错误修复和 API 调整。我们需要大量的帮助来测试这个 Alpha 版本,确保它在即将发布的候选版本中能够非常稳定。请参与讨论,帮助我们做好准备。

此外,我们正在开发一个名为 jQuery Enchant 的新插件,它将为库带来大量高级效果(例如剪裁抖动 以及爆炸 ,仅举几例)。这也是这个插件的 Alpha 版本,因此请帮助我们对其进行测试,并确保它完全达到 jQuery 的质量水平。

下载

演示

尽情享受!

jQuery 1.2.3 发布

发布于 作者

这是针对 jQuery 1.2 的错误修复版本。您可以在错误追踪器 上查看已修复内容的完整列表。

下载

jQuery 1.2.3

.data() 和 .removeData()

这些方法是对 jQuery 1.2 中引入的 jQuery.data 和 jQuery.removeData 方法的补充。然而,重要的变化是它们针对插件开发者进行了调整。现在你可以对数据添加进行命名空间划分——就像你可以对事件绑定/解绑进行命名空间划分一样。例如

  $("div").data("test", "original");
  $("div").data("test.plugin", "new data");
  alert( $("div").data("test") == "original" ); // true
  alert( $("div").data("test.plugin") == "new data" ); // true

此外,插件可以覆盖获取或设置数据值的代码。例如,以下代码来自最近更新的 jQuery UI 中的可拖动组件

  $(element).bind("setData.draggable", function(event, key, value){
     self.options[key] = value;
  }).bind("getData.draggable", function(event, key){
     return self.options[key];
  });

上面的代码使得所有尝试获取和设置命名空间为 draggable 的数据的操作都将被插件直接拦截和处理(而不是直接绑定到元素)。结果是一个强大的新界面,用于处理插件内部的数据。

.unbind(“.namespace”)

在 jQuery 1.2 中,你可以添加和删除带命名空间的事件,但你必须始终包含要使用的事件类型的名称。通过此添加,你现在可以删除所有与特定命名空间匹配的绑定事件,例如

  $("div").bind("click.plugin", function(){});
  $("div").bind("mouseover.plugin", function(){});
  $("div").unbind(".plugin"); // All handlers removed

上面的代码删除了所有绑定在“plugin”命名空间内的事件处理程序。

努力工作

发布于 作者


Paul Bakaus (jQuery UI 负责人) 和 John Resig (jQuery 负责人) 正在开发
jQuery UI (1.5) 和 jQuery 核心 (1.2.3) 的下一个版本。

在分布式开源开发中,能够与其他开发者面对面合作是一件难得的享受。Paul 位于德国,我在波士顿——jQuery 团队的许多成员分散在全球各地。他周末来到镇上,以便我们可以确保为即将发布的 jQuery UI 1.5 发布候选版本在 jQuery 核心库中包含所有必要的代码。我们还有机会讨论 jQuery UI 的未来,并为未来几个月规划一些最佳资源分配。

综上所述,下一个版本将会很棒。它应该是 jQuery UI 1.0 应该成为的样子。由于我们在开始这个项目时开发者时间上的种种限制,它一直很艰难,但情况正在好转。 Paul 现在全职负责 jQuery UI——而 Liferay 正在投入大量资源来确保该库的未来取得成功。看到这个项目成长起来,并开始看到曙光,真的很令人兴奋。

jQuery 1.2.3 应该会在接下来的几天内发布(经过更多测试后),jQuery UI 1.5rc1 将在 jQuery UI 邮件列表 上宣布。

转载自我的博客。

jQuery UI 及其未来:jQuery-Liferay 合作关系

发布于 作者

jQuery UI 正在蓬勃发展,我已经看到很多网站完全使用它来支持他们的界面。事实上,它的发展非常迅速,以至于**一家位于洛杉矶的开源公司决定雇佣一个人专门全职负责 jQuery UI**。

我很高兴地宣布,我,Paul Bakaus,jQuery UI 的负责人,被 Liferay Inc 聘用,该公司是全球最流行的开源 Java 门户的开发公司,我将专注于将 jQuery UI 推向一个新的高度。这对整个项目来说具有**巨大的影响**——我现在可以投入几乎三倍的时间和精力,我正在帮助将 jQuery 和 jQuery UI 部署到关键任务项目中,这将带来巨大的改变。

Liferay 的计划是**将他们所有的产品标准化为使用 jQuery**及其插件(你仍然可以同时使用其他库)——因此,他们非常希望看到 jQuery UI 能够长久发展,并能满足各种客户的需求和超越。为了实现这一目标,聘用我是最合乎逻辑的决定:我现在没有借口不专注于 jQuery UI 一段时间——毕竟,这是我的日常工作!

但与 Liferay 的合作远不止这些:Liferay 将**成为从今天开始首家为 jQuery 和 jQuery UI 提供关键业务支持服务的公司**。我们不仅将获得一家开源公司的支持,而且这是该项目所能获得的最佳宣传:**jQuery UI 将运行在大型内部网中,运行在 Liferay 的每个副本上**。这将对该项目的传播和所提供的质量水平产生重大影响。

我个人对这种变化感到非常兴奋——会有无数积极的副作用和产品出现——使用 jQuery 的新产品、由赞助商提供的 UI 主题、一个新的网站,当然还有——**一个新的 jQuery UI 版本**(具有所有期待已久错误修复的全新 polished 版本的发布日期将在接下来的几天内公布)。