运行jquery 1.9.1选项卡功能并尝试更改选项卡激活时的背景图像。 jquery有点新,并决定通过查看aria-expanded标签是否已设置为true来检测激活的选项卡。如果是这样,我抓住一个自定义标签,我已插入该标签的图像网址(称为bgimg,例如,bgimg =“url(/images/tab1img.png”))并进行更改。但是,似乎所有选项卡的aria-expanded设置为true之前,选项卡调用的activate部分中的任何内容都在运行。是这样的吗?如果是这样,我如何触发该功能,以便在激活新标签后运行该功能?
这是jquery:
$(window).load(function () {
$('#tabs').tabs({
activate: function (event, ui) {
setBGImg();
}
});
setBGImg();
function setBGImg() {
$('.ui-tabs-panel').each(function () {
if ($(this).attr('aria-expanded') == 'true') {
$('#backgroundImage').css('background-image', 'url(' + $(this).attr('bgImg') + ')');
}
});
}
});
答案 0 :(得分:0)
几乎所有事情都有jQuery事件。
您可以在激活标签之前设置自定义处理程序,这是documented here。
答案 1 :(得分:0)
从JQuery UI提供的工具中定位新面板可能更好。
$('#tabs').tabs({
activate: function (event, ui) {
//ui.newPanel lets you target the new Panel
var panel = ui.newPanel;
panel.css({'background-color': 'blue'});
}
});
您可以通过ui
参数定位一些内容
- newPanel
- 新标签
- oldPanel
- oldTab
这是一个显示它的FIDDLE。