从ids的变量计算变量

时间:2011-10-18 11:14:07

标签: jquery function variables ready

下面的代码放在document.ready()中,找到每个.scrollable div并创建一个变量,为每个面板提供一个id并激活一个滚动脚本。

var orderit = 0;
var scrolls = {};
$('.scrollable').each(function(){
    this.id = 'scrollp' + (++orderit);
    scrolls[ 'myScroll' + this.id ] = new iScroll( this.id, { scrollbarClass: 'myScrollbar' });
});

问题是,稍后我需要通过调用脚本中嵌入的.refresh()方法来刷新这些变量。为此,我们需要变量名称。获取变量的一种方法是计算它的设置。

$('.dircore').click(function(){
    'myScroll' + $(this).attr('id').refresh();
}

这只适用于firefox,即使firebug说这是一个错误,但它在其他浏览器中不起作用,显然不是这样做的正确方法。

我希望有足够的信息可以在这里解决,但基本上我们需要使用我们想要刷新的元素的id来计算它的变量,并因此对其变量调用.refresh()方法。

1 个答案:

答案 0 :(得分:0)

你不能使用jQuery .data()函数将数据绑定到元素,并在以后调用它吗?这样,您也可以避免因循环引用和由它们引起的内存泄漏。

像这样:

  

$(document).ready(function(){$('#scroll5')。data('data',value);});

然后:

  

$('。dircore')。each(function(){$(this).data('data')。refresh();});

或类似的东西。