Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Нужна помощь по скрипту!!!! (https://javascript.ru/forum/misc/40326-nuzhna-pomoshh-po-skriptu.html)

mr.bond 31.07.2013 19:41

Нужна помощь по скрипту!!!!
 
Мучаюсь, да не намучаюсь....
Имеется картинка
<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, которое проверяется скриптом, в картинке вставлялось ближайшое подходящее значение из скрипта, которое подходит по разрешению. Строго не судето, только учусь. За помощь буду благодарен...

рони 01.08.2013 04:21

Цитата:

Сообщение от mr.bond
!this.getAttribute('src')

и
Цитата:

Сообщение от mr.bond
чтобы при отсутствие data-src

так чего отсутствие src или data-src

Цитата:

Сообщение от mr.bond
ближайшое подходящее значение

это сколько?

mr.bond 01.08.2013 12:11

Если присмотреться внимательно, в скрипте есть строчка
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 исходя из расширения.

рони 01.08.2013 12:54

mr.bond,
а так не проще сразу для каждого расширения прописать?
else if (winIner <= 767) {

           var data = $this.data('src-mobile')
           this.src = data ? data : $this.data('src-768')


        }

mr.bond 01.08.2013 13:22

Всем огромное СПАСИБО за помощь.
Тему можно закрывать...


Часовой пояс GMT +3, время: 12:12.