это проблема объема.
другие ответы здесь технически сработают, но я бы никогда не советовал сохранять эти переменные глобальными, если они вам не нужны глобально.
вы определяете wBack
, hBack
, lBack
и tBack
внутри блока DOM-ready, но вы пытаетесь получить к ним доступ из обработчика событий. если вы можете, удалите onclick
из элемента и добавьте его в блок DOM-ready для совместного использования переменных.
$(document).ready(function(){
// Store the selector
var element = $('ul li.roundabout-in-focus')
var wBack = element.height();
var hBack = element.width();
var lback = element.css('left');
var tback = element.css('top');
$("#someElement").click(function close_current(){
$('.nInfoIE').show();
$('.roundabout-in-focus').find('.img').show();
$('.roundabout-in-focus').css({position:'absolute',height:hBack,width:wBack,left:lBack,top:tBack});
$('.roundabout-in-focus').find('.iframe').css({'visibility':'hidden'});
$('ul li').find('.iframe').addClass('esconder');
$('ul li iframe').each(function(){
var tempurl = '';
tempurl = $(this).attr('src');
$(this).attr('src',tempurl.replace('?autoplay=1', ''));
});
watching = false;
$('.nInfoIE').hide();
})
});
Вы также должны кэшировать селектор в верхней части этого блока (как в моем примере), чтобы не повторять запросы DOM (вы, вероятно, могли бы сделать это и в обработчике кликов, но селекторы разные, поэтому я оставил одна функция:)
надеюсь, это поможет! веселит.