2010-12-17 102 views
0

我最近重新制作了新的twitter ui(滑动窗格),并且我为它创建了一个相当类似的(如果不是稍好的话)功能。最近我没有遇到任何问题,直到我尝试重构时出现了一些错误。也就是说,我正处于决定我是否应该重构我的代码并使用OOP的十字路口。我应该将jquery脚本转换为对象还是让它成为对象?

对于我所做的一点背景,我有一个具有可扩展类的项目列表。在他们的内部,我有一个名为“.inner”的div,在其中我将右侧的数据放在那里。然后我有一个$('。expandable')单击函数,它可以激活右窗格并克隆.inner div的所有内容,并将其放在右窗格中。

当页面加载时,我创建了一些隐藏在左侧窗格下的类“.pane”的右侧窗格。我可以根据需要继续实现,但是我当时的想法是转换每个这些巨大的点击功能等,然后创建一个Pane对象,它具有动画,隐藏,自身等所有方法。

问题这是我不确定这是否是一个好主意,特别是如果有很多窗格。将我的窗格变成对象会增加还是减少加载时间/功能?点击事件绑定到类($('。expandable')。click())比expandable是一个Pane对象的方法更快吗?那么如果有30个窗格/可扩展的东西呢?

回答

0

取决于你想要做什么,你可以使用选择器引擎和对象,或者我所做的是将我的JQuery插件表示为具有状态的对象,但作为普通插件可以在“外部”世界中看到。

我还将实用功能(如客户端缓存,解析器等)放入对象中,因为这些功能与浏览器交互无关,并且更多地涉及可重复使用的内部api。

但它真的归结为你想如何编码。 JQuery插件库和API非常丰富,但如果你发现你需要多一点的东西,那么对象就是要走的路。

0

我不确定,但是当我用JavaScript来做脚本时,我曾经使用过jQuery,因为这是组织内存和对象的人。我还必须说,在我的更多案例中(当我使用jQuery在地图上加载超过1000个点时),Firefox有很好的回应。问题出在Internet Explorer中。

我推荐给你,尽你所能,在JavaScript中使用OOP。如果它是可行的,用jQuery(有一个伟大的社区来帮助)。此外,你必须看到IE黑客在这个'导航器'中改进jQuery。

您也可以查看此网页:http://plugins.jquery.com/。在那里,你可以找到很多插件来完成jQuery最重要和常见的功能。