Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我应该将jquery脚本转换为对象还是顺其自然?_Javascript_Jquery_Oop - Fatal编程技术网

Javascript 我应该将jquery脚本转换为对象还是顺其自然?

Javascript 我应该将jquery脚本转换为对象还是顺其自然?,javascript,jquery,oop,Javascript,Jquery,Oop,我最近复制了新的推特用户界面(滑动窗格),并为其构建了非常类似的功能(如果不是稍微好一点的话)。我最近没有遇到任何问题,直到我尝试重构时出现了几个bug。也就是说,我正处在一个十字路口,决定是否应该重构代码并使用OOP 关于我所做的一点背景知识,我有一个包含可扩展类的项目列表。在它们里面,我有一个名为“.inner”的div,我把右边的数据放在里面。然后,我有一个$('.expandable')click函数,它可以设置右窗格的动画,克隆.internal div的所有内容并将其放在右窗格中 当

我最近复制了新的推特用户界面(滑动窗格),并为其构建了非常类似的功能(如果不是稍微好一点的话)。我最近没有遇到任何问题,直到我尝试重构时出现了几个bug。也就是说,我正处在一个十字路口,决定是否应该重构代码并使用OOP

关于我所做的一点背景知识,我有一个包含可扩展类的项目列表。在它们里面,我有一个名为“.inner”的div,我把右边的数据放在里面。然后,我有一个$('.expandable')click函数,它可以设置右窗格的动画,克隆.internal div的所有内容并将其放在右窗格中

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


问题是我不确定这是否是个好主意,尤其是如果有很多窗格的话。将窗格转换为对象会增加或减少加载时间/功能吗?与类($('.expandable').click()关联的单击事件是否比expandable是窗格对象的方法快?如果有30个窗格/可扩展的东西呢?

我不确定,但当我用javascript编写脚本时,我曾经使用jQuery,因为它是组织内存和对象的人。我还必须说,在我的大多数情况下(当我使用jQuery在地图上加载1000多个点时),Firefox都有很好的响应。问题出在Internet Explorer中

我建议您尽可能在javascript中使用OOP。如果可能的话,使用jQuery(有一个很好的社区提供帮助)。此外,您还必须在这个“导航器”中看到IE黑客改进jQuery的方法


您也可以查看此网页:。在那里,您可以找到许多插件,用于使用jQuery执行最重要和最常见的功能。

根据您想要执行的操作,您可以只使用选择器引擎和对象,或者我要做的是将jQuery插件表示为具有状态的对象,但在“外部”世界中作为普通插件可见

我还将客户端缓存、解析器等实用功能放入对象中,因为这些功能与浏览器交互无关,更多的是关于可重用的内部api

但它实际上可以归结为您想要如何编写代码。JQuery插件库和API非常丰富,但是如果您发现需要更多的东西,那么对象就是最好的选择