2015-02-15 2 views
1

Когда я нажимаю на элемент, я храню переменную url но у меня есть много элементов, поэтомуКак сохранить и вызвать переменную?

HTML

<div class="item"> 
    <span id="0" class="video" data-vimeoid="http://vimeo.com/XXX"></span> 
</div> 
<div class="item"> 
    <span id="1" class="video" data-vimeoid="http://vimeo.com/SSS"></span> 
</div> 
<div class="item"> 
    <span id="2" class="video" data-vimeoid="http://vimeo.com/ZZZ"></span> 
</div> 

JavaScript

$(document).on('click', '.item:not(.expanded)', function() { 
    $(".item").removeClass("expanded"); 
    $(this).addClass("expanded"); 
    var videoSpan = $(this).find("span.video"); 
    var url = videoSpan.data("vimeoid"); 
    if(url){ 
    var tokens = url.split("/"); 
    var id = tokens[3]; 
    var iframe = $('<iframe/>', { 
    'frameborder' : 0, 
    'class' : 'tide embed-responsive-item', 
    'src' : 'http://player.vimeo.com/video/'+ id + '?api=1&player_id=player1 webkitAllowFullScreen mozallowfullscreen allowFullScreen', 
    }); 
    videoSpan.replaceWith(iframe); 
    $(".item:not(.expanded) span.video").empty().html('<span class="video" data-vimeoid="' + url + '"></span>'); 
    } 
}); 

Это опорожнение любой предыдущий диапазон, где я загрузил видео, но URL variable - это то, что оно будет найдено в текущем клике Я хочу восстановить оригинал.

+0

Что вы подразумеваете под 'Это удаление любого предыдущего загруженного видео, но переменная URL-адреса является тем, что она будет найдена в текущем клике, пока я хочу восстановить оригинал.'? – void

+0

Вы хотите сохранить 'data-vimeoid' в HTML в своей строке' (".item: not (.is-extended) span.video"). Empty(). Append (' ';);'? Кроме того, следует ли «расширять» и «расширять» быть одним и тем же классом? –

+0

Не следует '.item: not (.is-expand)' be вместо '.item: not (.expanded)' ??? И вам не хватает прежнего '$' in '(" .item: not (.is-расширенный) span.video ")' и btw вместо использования '.empty(). Append (...)', используйте ' .html (...) ' –

ответ

1

Решенный это следующим образом: в основном я загружаю iframe в span и не заменить его, то я опорожнить span где я загружаю iframe, и я перезагружаю его каждый раз.

$(document).on('click', '.item:not(.is-expanded)', function() { 
    $(".item div.video").empty(); 
    var videoSpan = $(this).find("div.video"); 
    var url = videoSpan.data("vimeoid"); 

    if (url) { 
    var tokens = url.split("/"); 
    var id = tokens[3]; 
    var iframe = $('<iframe/>', { 
     'frameborder' : 0, 
     'class' : 'tide embed-responsive-item', 
     'src' : 'http://player.vimeo.com/video/'+ id + '?api=1 webkitAllowFullScreen mozallowfullscreen allowFullScreen' 
    }); 
    videoSpan.html(iframe); 
    } 
}); 
+0

Прохладный, поэтому я думаю, что понял, что вы пытаетесь сделать.Обратите внимание, что '' является встроенным тегом, который не должен содержать тег блока, такой как '