我有一些图片标签。我们的想法是仅显示点击标签中的图片,如下所示:
$("#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);
});
}
});
但是如何获得最后点击的标签?
答案 0 :(得分:1)
ui.index是当前的一个,将它存储在show方法的变量中:
var prevTab = 0;
$("#tabs").tabs({
show: function(event, ui) {
if(prevTab != ui.index) {
//do it here....
}
prevTab = ui.index;
}
});
答案 1 :(得分: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);
});
}
});