2015-01-08 56 views
1

我有一些圖像和這樣的代碼,從而改變當拇指被點擊.:大圖像訪問圖像源動態改變

圖像-01-thumb.jpg
圖像-01-滿。 JPG
圖像-02 thumb.jpg
圖像-02 full.jpg

$.each($('img'), function() { 
    if ($(this).attr('src').toString().indexOf('thumb.jpg') > -1) { 
     $(this).on('click', function() { 
      $('.large-image').attr('src', $(this).attr('src').replace('thumb', 'full')); 
     }); 
    } 
}); 

但是,當我嘗試訪問該圖像的src應用一些插件的影響,DOM是不更新和我總是訪問原始的src:

$(document).on('click', '.large-image', function() { 
    $('.large-image').pluginEffect(); 
}); 

當我dinamically改變圖片src圖像-02-full.jpg,它仍然applys圖像-01 full.jpg

如何才能獲得更新的SRC效果或哪能刷新DOM?

+1

話題:您的整個'each'和'if'代碼可以簡化爲:'$('img [src $ =「thumb.jpg」]' ).click(...' – isherwood

+0

謝謝你的提示 – Kronen

回答

3

您正在使用large-image類初始化所有元素上的插件,並且該插件可能只作用於第一個元素。這樣做的目的只是點擊元素:

$(document).on('click', '.large-image', function() { 
    $(this).pluginEffect(); 
}); 
+0

我應該使用一個id,但無論如何只有一個大圖像元素。我意識到它只適用於原始的一個,但只適用於首先我使用pluginEffect(),可能是插件緩存了圖片的源代碼? – Kronen

+1

可能是,或者可能是您需要在再次調用插件實例之前銷燬該插件實例 – isherwood

+0

您知道如何銷燬插件if它只有一個公共的初始化函數,但不是銷燬一個? – Kronen