jquery:将div分配给对象变量进行缓存

时间:2011-07-27 04:40:29

标签: jquery

我有以下代码在函数内部起作用:

$('#MyPanel').stop().animate({ top: PanelTop }, 300);

但是,我想将div分配给一个对象,以便jquery不必每次都重新评估引用。

我有一个全局变量,然后我想在我的函数中使用它:

var ThePanel = $('#MyPanel');

ThePanel.stop().animate({ top: PanelTop }, 300);

什么都没发生。知道为什么吗?

感谢。

3 个答案:

答案 0 :(得分:2)

解决方案是将全局变量声明为null,然后将div分配给document.ready函数中的对象变量,而不是在全局声明部分中。

<script>

  var ThePanel = null;

  $(document).ready(function () {

    ThePanel = $('#MyPanel');

  });

</script>

答案 1 :(得分:0)

“缓存”对象的代码是正确的。我怀疑其他事情正在发生......你确定第一段代码是否有效但第二段代码没有?

我会使用FireBug或内置的网络调试工具(比如在Chrome中)停止该行并查看ThePanel是否为空..

答案 2 :(得分:0)

使用$(ThePanel).stop...,你离开了。据我所知,这仍将为您提供所需的性能增益