Загрузка галереи внешних изображений с помощью JQuery

Мы могли бы сделать небольшую магию split / pop, как показано здесь ( https://stackoverflow.com/a/424006/1250044 ), чтобы извлечь имя файла (в соответствии с окнами и POSIX).

def getFileNameWithoutExtension(path):
  return path.split('\\').pop().split('/').pop().rsplit('.', 1)[0]

getFileNameWithoutExtension('/path/to/file-0.0.1.ext')
# => file-0.0.1

getFileNameWithoutExtension('\\path\\to\\file-0.0.1.ext')
# => file-0.0.1

1
задан pingu 26 April 2010 в 11:18
поделиться

2 ответа

Итак, после долгой путаницы и поиска я понял это - чтобы получить доступ к держателю из вложенной функции, мне пришлось создать для него держатель:

$('.holder').each(function(){
   var holder = $(this);
   var imgsrc = 'http://example.com/imgsrc';
   var $img = $('<img />', {src: imgsrc});
   $($img).load(function () {
       $(this).hide();
       holder.removeClass('loading');
       holder.append(this);
       $(this).fadeIn();
   });
});
0
ответ дан 3 September 2019 в 01:01
поделиться

Для начала, вы не указываете здесь URL:

var imgsrc = http://example.com/imgsrc;

должно быть:

var imgsrc = 'http://example.com/imgsrc';

Попробуйте следующее:

$('.holder').each(function(){
    var imgsrc = 'http://example.com/imgsrc';
    var $img = $('<img />', {src: imgsrc});
    $($img).load(function () {
        $(this).hide();
        $(this).parent('.holder').removeClass('loading');
        $(this).parent().append(this);
        $(this).fadeIn();
    });
});

Я думаю, проблема заключалась в том, что событие загрузки было привязано к изображению без любой атрибут src (я могу ошибаться, дайте мне знать, как это происходит :)

2
ответ дан 3 September 2019 в 01:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: