我正在使用jquery tools选项卡和carousel。转盘嵌入在一个选项卡中,该选项卡将加载到一个beforeclick回调中。
通常,carousel在document ready函数中初始化,如下所示:
$(function() {
// initialize scrollable
$("div.scrollable").scrollable({
size: 3,
clickable: true,
loop: false
}).mousewheel();
当通过beforeclick加载carousel时,这不起作用,因为当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();;
我的问题是两方面的:
首先,是否有一个事件我可以添加一个处理程序来初始化第一次加载时的滚动?
第二,如果没有,有没有一种方法可以确定是否已经构造了滚动条?
此代码背后的思想是基于用户的语言选择加载本地化的HTML片段。这是CD上的目录,而不是联机目录。