Javascript jquery中的变量作用域
我正在尝试访问Javascript jquery中的变量作用域,javascript,jquery,Javascript,Jquery,我正在尝试访问中设置的变量的值。单击函数外部的函数,但我会得到错误,有人能告诉我我做错了什么吗 var id; var currentPosition; var slideWidth = 368; var slides; var numberOfSlides; $('#accordion_catering h3').click(function() { id = $(this).attr('id'); $('#' +id+'_gallery').show(); //al
中设置的变量的值。单击函数外部的
函数,但我会得到错误,有人能告诉我我做错了什么吗
var id;
var currentPosition;
var slideWidth = 368;
var slides;
var numberOfSlides;
$('#accordion_catering h3').click(function() {
id = $(this).attr('id');
$('#' +id+'_gallery').show();
//alert(id);//works
});
alert(id); // is undefined
// Because id is undefined these don't work .
slides = $('.' + id + '_slide');
numberOfSlides = slides.length;
id仅在click事件处理程序至少运行一次时设置,因为您在事件处理程序内设置id变量id仅在click事件处理程序至少运行一次时设置,因为您在事件处理程序内设置id变量click尚未发生,所以未设置id。。。这与变量作用域无关,更多的是关于事件及其处理程序:) 当您添加cmt时,我调整了我的解决方案,如下所示:
尚未单击,因此未设置id。。。这与变量作用域无关,更多的是关于事件及其处理程序:) 当您添加cmt时,我调整了我的解决方案,如下所示: 所以,基本上,在触发此事件之前不要访问id,然后将设置它
因此,基本上,在触发此事件之前,不要访问id,然后将设置它。hi,感谢您的响应,我在单击功能中设置id的原因是因为我根据id显示不同的库,所以单击后我会获得id的值并显示相应的库,每个图库中的幻灯片数量也不同,这就是为什么幻灯片数量需要连接到ClickvFunction中的特定id Hi,感谢您的响应,我在click function中设置id的原因是因为我根据id显示不同的图库,因此,单击后我会得到id的值,并显示相应的库,每个库中的幻灯片数量也不同,这就是为什么需要将幻灯片数量连接到clickvfunction中的特定id
var currentPosition;
var slideWidth = 368;
var slides;
var numberOfSlides;
$(document).ready(function() {
var element = $('#accordion_catering h3');
element.click(function() {
var id = $(this).attr('id');
DisplayGallery(id);
});
element.trigger('click'); // maybe you want to trigger it
});
function DisplayGallery(id) {
$('#' + id +'_gallery').show();
slides = $('.' + id + '_slide');
numberOfSlides = slides.length;
}
var id;
var currentPosition;
var slideWidth = 368;
var slides;
var numberOfSlides;
$(document).ready(function() {
$('#accordion_catering h3').click(function() {
id = $(this).attr('id');
$('#' +id+'_gallery').show();
//alert(id);//works
slides = $('.' + id + '_slide');
numberOfSlides = slides.length;
});
$('#accordion_catering h3').trigger('click');
alert(id); // is defined
)};