2013-01-10 73 views
0

我有幾個選項卡的圖像。我們的想法是隻從點擊的標籤,像這樣顯示圖像:Jquery UI最後點擊標籤

$("#tabs").tabs({ show: function(event, ui) {
$('img.lazy', ui.panel).each(function(){ var imageSrc = $(this).attr("data-original-src"); $(this).attr("src", imageSrc); }); } });

但一些標籤幾乎750圖像。如果新標籤被點擊,我怎樣才能停止從舊標籤下載圖像?我認爲它應該是這樣的:

$("#tabs").tabs({ 
show: function(event, ui) { 
    if (oldui != null) { 
     $('img.lazy', oldui.panel).each(function() { 
      $(this).attr("src", ""); 
     }); 
    } 
    oldui = ui; 
    $('img.lazy', ui.panel).each(function() { 
     var imageSrc = $(this).attr("data-original-src"); 
     $(this).attr("src", imageSrc); 
    }); 
} 

});

但我怎樣才能得到最後點擊標籤?

回答

1

ui.index是當前的一個,在可變存儲此展出方法:

var prevTab = 0; 
$("#tabs").tabs({ 
show: function(event, ui) { 
    if(prevTab != ui.index) { 
     //do it here.... 
    } 
    prevTab = ui.index; 
    } 
}); 
+0

謝謝!這有幫助。 – markilfin

0

看起來我們可以接觸到老面板ui.oldPanel
$("#tabs").tabs({ select: function (event, ui) { $('img.lazy', ui.oldPanel).each(function() { $(this).attr("src", "images/card-text-bg.png"); }); $('img.lazy', ui.panel).each(function() { var imageSrc = $(this).attr("data-original"); $(this).attr("src", imageSrc); }); } });