下面的代码放在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()
方法。
答案 0 :(得分:0)
你不能使用jQuery .data()函数将数据绑定到元素,并在以后调用它吗?这样,您也可以避免因循环引用和由它们引起的内存泄漏。
像这样:
$(document).ready(function(){$('#scroll5')。data('data',value);});
然后:
$('。dircore')。each(function(){$(this).data('data')。refresh();});
或类似的东西。