gpt4 book ai didi

javascript - jquery中的变量作用域

转载 作者:行者123 更新时间:2023-11-28 12:50:00 30 4
gpt4 key购买 nike

我正在尝试访问在函数外部的 .click 函数内设置的变量的值,但我会收到错误消息,任何人都可以告诉我我在做什么吗?做错了吗?

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 尚未设置...这与变量范围无关,更多的是关于事件及其处理程序:)

当您添加 cmt 时,我调整了我的解决方案,如下所示:

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;
}

关于javascript - jquery中的变量作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2280419/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com