为缓存对象变量分配div



我有下面的代码在一个函数中工作:

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

然而,我想把div分配给一个对象,这样jquery就不必每次都重新计算引用。

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

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

什么也不会发生。知道为什么吗?

谢谢。

解决方案是将全局变量声明为null,然后将div赋值给文档中的对象变量。准备函数,而不是在全局声明部分。

<script>
  var ThePanel = null;
  $(document).ready(function () {
    ThePanel = $('#MyPanel');
  });
</script>

您的"缓存"对象的代码是正确的。我怀疑另有隐情…你确定第一段代码可以工作,而第二段不行吗?

我会使用FireBug或内置的web调试工具(如Chrome)在该行上放置一个停止,看看ThePanel是否为空。

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

最新更新