我無法讓它做我想做的事!我試圖用移動瀏覽器的較小圖片替換大圖片。jQuery中的圖片替換
下面是代碼:
function js_imgs() {
if (document.documentElement.clientWidth <= 600) {
$("img").each(function(){
if ($(this).hasClass('big')) {
var preSrc = $(this).attr('src');
var newSrc = preSrc.substring(preSrc.lastIndexOf('/'), preSrc.lastIndexOf('.'));
$(this).attr('src', newSrc + '-m.' + /[^.]+$/.exec(preSrc));
$(this).removeClass('big').addClass('mobile');
}
});
} else {
$("img").each(function(){
if ($(this).hasClass('mobile')) {
var preSrc = $(this).attr('src');
var newSrc = preSrc.substring(preSrc.lastIndexOf('/'), preSrc.lastIndexOf('.'));
$(this).attr('src', newSrc + '.' + /[^.]+$/.exec(preSrc));
$(this).removeClass('mobile').addClass('big');
}
});
}
};
對於第一個圖像,此代碼的工作順順當當。不幸的是,所有其他圖像都將其SRC重寫爲第一張圖像的SRC。他們都變成了同樣的形象;它調整大小奇妙,但不是正確的形象。
我做錯了什麼?我已經嘗試了幾乎所有的this thread這個變化,但沒有成功。
這不能解決問題。過度的複雜性來自它被寫入來在調整窗口大小時立即替換圖像。這不是我確定我會保留的東西,但是我正在玩弄它。我爲網站的「移動」版本使用了CSS3媒體查詢,因此在600像素以下的情況下,圖像的尺寸和設計的流暢性是有道理的。 – Aleksandr 2010-10-21 08:29:15