Нужна помощь по скрипту!!!!
Мучаюсь, да не намучаюсь....
Имеется картинка <img data-src-1280="./1280/img.JPG" data-src-1024="./768/img.JPG" data-src-1152="./1152/img.JPG" data-src-768="./mobile/img.JPG" src="" alt="A"> и имеется скрипт к таким вот подобным картинкам $('img[src=""]').each(function() { var winIner = $(window).innerWidth(); var $this = $(this); if (winIner > 1280) { this.src = $(this).data('src-1280'); } else if (winIner >= 1152 ) { this.src = $this.data('src-1024'); } else if (winIner >= 1024 ) { this.src = $this.data('src-1152'); } else if (winIner >= 768 ) { this.src = $this.data('src-768'); } else if (winIner <= 767) { this.src = $this.data('src-mobile'); } if ( !this.getAttribute('src') ) { ........... } }); Вопрос в следующем: там где точки в скрипте, нужно дописать так, чтобы при отсутствие data-src, которое проверяется скриптом, в картинке вставлялось ближайшое подходящее значение из скрипта, которое подходит по разрешению. Строго не судето, только учусь. За помощь буду благодарен... |
Цитата:
Цитата:
Цитата:
|
Если присмотреться внимательно, в скрипте есть строчка
this.src = $this.data('src-mobile') а в картинке отсутствует data-src-mobile . Скрипт при расширении 767px и меньше не находит data-src-mobile в картинке и в src прописывает src="undefined" . Конечно можно дописать так : if ( !this.getAttribute('src') ) { $this.attr('src', $this.data('src-768')); } , но это будет относиться только к указаному расширению и меньше, а мне нужно чтобы оно само подставляло имеющиеся data-src (которые находятся в картинке ) в src при отсутствии любого расщирения из data-src в картинке. Вот ссылка на пример: http://imgchange.webisy.net/ , там я убрал data-src-1152 в картинке. Как можно увидеть при расширении 1152 и до 1025 видно только alt и src="undefined". А "ближайшее подкодящее значение" относится к существующим в функции подставления data-src исходя из расширения. |
mr.bond,
а так не проще сразу для каждого расширения прописать? else if (winIner <= 767) { var data = $this.data('src-mobile') this.src = data ? data : $this.data('src-768') } |
Всем огромное СПАСИБО за помощь.
Тему можно закрывать... |
Часовой пояс GMT +3, время: 12:12. |