将变量从我的点击事件传递给函数
我的意思是,除了使用全局之外,还有更有效的方法吗?我讨厌使用全局变量,但我似乎无法弄清楚如何将 href 属性传递给函数。
$(document).ready(function(){
var src
$('.thumbs li a').click(function(){
src=$(this).attr('href')
loadImage();
return false;
})
function loadImage(){
var img = new Image();
$(img).load(function () {
//$(this).css('display', 'none'); // .hide() doesn't work in Safari when the element isn't on the DOM already
$(this).hide();
$('.large_img_holder').removeClass('loading').append(this);
$(this).fadeIn();
}).error(function () {
// notify the user that the image could not be loaded
}).attr('src', src );
}
});
Is there a more efficient way to do this, I mean other than using a global? I hate to use global variables but I just can't seem to figure out how to pass the href attribute to the function.
$(document).ready(function(){
var src
$('.thumbs li a').click(function(){
src=$(this).attr('href')
loadImage();
return false;
})
function loadImage(){
var img = new Image();
$(img).load(function () {
//$(this).css('display', 'none'); // .hide() doesn't work in Safari when the element isn't on the DOM already
$(this).hide();
$('.large_img_holder').removeClass('loading').append(this);
$(this).fadeIn();
}).error(function () {
// notify the user that the image could not be loaded
}).attr('src', src );
}
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我不确定这是否是您想要的,但是如果您允许
loadImage
函数将src
作为参数,那么您可以避免定义
变量:ready
函数中的 srcI'm not sure if this is what you're after, but if you allow the
loadImage
function to takesrc
as a parameter then you can avoid defining thesrc
variable in theready
function:您可以简单地将其作为参数传递:
You could simply pass it as a param:
首先,
src
变量是在$(document).ready(function(){/*...*/};
内部声明的,因此它不是全局的。此外,您可以使用loadImage
函数的参数而不是src
变量:First of all the
src
variable is declared inside of$(document).ready(function(){/*...*/};
so it is not global. Moreover you can use parameters ofloadImage
functions instead ofsrc
variable: