2013-08-30 22 views
0

運行jquery 1.9.1選項卡功能並嘗試更改選項卡激活時的背景圖像。對於jquery有點新鮮,並且決定通過查看aria-expanded標籤是否設置爲true來檢測激活的標籤。如果是這樣,我抓取一個自定義標籤,插入該標籤的圖像url(稱爲bgimg,例如bgimg =「url(/images/tab1img.png」))並進行更改。但是,似乎無論是在標籤調用的激活部分運行之前,在選定標籤的aria-expanded設置爲true之前。是這樣嗎?如果是這樣,我如何觸發該功能,以便在新選項卡激活後運行?jquery激活功能在標籤切換前運行

這裏是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

有用於幾乎所有的jQuery事件。

您可以在激活選項卡之前設置自定義處理程序,這是documented here

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 - NEWTAB - oldPanel - oldTab

這裏是一個FIDDLE,顯示它在行動。