我在正在处理的页面中使用jquery-tools选项卡和carousel。转盘嵌入到选项卡中,并且该选项卡被加载到beforeClick回调中。
通常,carousel在文档就绪函数中初始化,如下所示:
$(function() {
// initialize scrollable
$("div.scrollable").scrollable({
size: 3,
clickable: true,
loop: false
}).mousewheel(); 当通过beforeClick加载传送带时,这不起作用,因为当DOM准备就绪时,此选项卡尚未加载。
$("ul.tabs").tabs("div.panes > div", {
initialIndex: 0,
onBeforeClick: function(event, i) {
// get the pane to be opened
var pane = this.getPanes().eq(i);
var src = this.getTabs().eq(i).attr("href");
var langPattern = "/^" + getLang() + '/';
var forceReload = false;
if (src.match(langPattern) == null)
{
src = getLang() + "/" + src;
forceReload = true;
}
if (pane.is(":empty") || forceReload) {
// load it with a page specified in the tab's href attribute
pane.load(src);
// initialize scrollable - ONLY SHOULD BE DONE ONCE
$("div.scrollable").scrollable({
size: 3,
clickable: true,
loop: false
}).mousewheel();
}
}
}).history();;我的问题分为两部分:
首先,有没有一个事件,我可以添加一个处理程序,以初始化滚动时,它是第一次加载?其次,如果没有,有没有办法让我知道scrollable是否已经构造好了?
这段代码背后的想法是根据用户的语言选择加载本地化的html片段。这是用于CD上的目录,而不是在线。
发布于 2010-01-16 22:42:46
我通过将回调附加到load调用来解决我的问题:
pane.load(src, "", function(){
$("div.scrollable").scrollable({
size: 3,
clickable: true,
loop: false
}).mousewheel();
});发布于 2010-01-16 10:14:12
您可能想查看一下jQuery live event。此事件匹配所有当前和未来的DOM匹配。
编辑1要绑定到div.scrollable的onload事件的,对吗?
$('div.scrollable').live('load', function() {
// etc.
});https://stackoverflow.com/questions/2075929
复制相似问题