Ушел отдохнуть, потом вернулся и обнаружил, что я тестировал свой код, обновляя и обновляя устаревшую копию на сервере вместо той, которую я редактировал на localhost.
Сожалею!Я работал слишком долго.
Вот рабочая версия кода:
function js_imgs() {
if (document.documentElement.clientWidth <= 600) {
$("img").each(function(){
if ($(this).hasClass('big')) {
var oldSrc = $(this).attr('src');
var newSrc = oldSrc.substring(0, oldSrc.lastIndexOf('/')) + oldSrc.substring(oldSrc.lastIndexOf('/'), oldSrc.lastIndexOf('.'));
$(this).attr('src', newSrc + '-m.' + /[^.]+$/.exec(oldSrc));
$(this).removeClass('big').addClass('mobile');
}
});
} else {
$("img").each(function(){
if ($(this).hasClass('mobile')) {
var oldSrc = $(this).attr('src');
var newSrc = oldSrc.substring(0, oldSrc.lastIndexOf('/')) + oldSrc.substring(oldSrc.lastIndexOf('/'), oldSrc.lastIndexOf('.'));
$(this).attr('src', newSrc.replace(/([^.]*)-m/, "$1") + '.' + /[^.]+$/.exec(oldSrc));
$(this).removeClass('mobile').addClass('big');
}
});
}
};
js_imgs();
$(window).resize(function($){
js_imgs();
});
Это написано для оперативного изменения размеров окна, которое почти навернякабыть совершенно ненужным.Возможно, при переключении с портретного на альбомное на iPhone или планшете с высоким разрешением, дополнительный код может быть полезен;Мне придется провести некоторое тестирование.
Улучшения и комментарии о достоинствах переключения на лету более чем приветствуются.