【发布时间】:2011-04-28 10:43:08
【问题描述】:
我不能让它做我想做的事!我正在尝试用较小的图像替换移动浏览器的大图像。
代码如下:
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 中尝试了几乎所有关于此的变体,但均未成功。
【问题讨论】:
标签: javascript jquery image each replace