2016-04-01 4 views
0

Я пытаюсь предварительно загрузить определенные изображения, которые я украсил атрибутом, и мне интересно, если вы, ребята, можете помочь мне разобраться, что здесь не так. У меня естьПочему моя функция `load` не вызвана?

  var barlen = $('#SSWEprogressbar').width(), 
       $elems = $('[data-srcurl]'), 
        n = $elems.length; 
      for (var k = 0; k < n; ++k) 
      { 
       var $elem = $($elems[k]); 
       var img = new Image(), 
        url = $elem.attr('data-srcurl'); 

       $(img).load(function(){ 
       console.log("we're here");//TEST 
       $('#SSWEloaderfront').attr('src',url); 

       $('#SSWEloadprogress').width(k/n*barlen + "px"); 
       }); 
       var srctgt = $elem.attr('data-srctgt'); 
       if (srctgt == "srcattr") 
       { 
       $elem.attr('src',url); 
       } 
       else if (srctgt == "bgimg") 
       { 
       $elem.css('background-image',url); 
       } 
      } 

и затем

console.log("we're here");//TEST 

это не вызывается. Есть идеи?

+0

Каково значение 'url', когда это выполняется? – DelightedD0D

+0

@ DelightedD0D это будет относительный URL-адрес изображения в папке –

ответ

2

Вы не устанавливаете атрибут src для элемента img, поэтому загрузка никогда не срабатывает. Вам нужно добавить $ (img) .attr ('src', url);

Смежные вопросы