我想让变量可用于其他回调函数:
$(function(){
$("#home_sec_2 img").attr("id", function (arr) {
return arr;
});
$('#home_sec_2').on('mouseover','img',function(){
position = $(this).position().left;
var $ll = $(this).prev();
console.log($ll);
/* $ll.css({left: position}); */
$ll.css({left:position});
$ll.addClass('shown');
$ll.stop().slideToggle('slow');
var $this = $ll;
console.log(position);
var pp = $ll.position();
console.log(pp);
}),
$('#home_sec_2').on('mouseleave','img',function(){
/* $ll = $(this).attr('id'); */
**var $img = $(this).prev()**
$img.slideToggle('slow');
console.log($img);
})
});
$img
变量已开启我想提供如何访问它。
答案 0 :(得分:2)
更改$img
的范围,使其超出该约束范围,并且就在您的文档准备就绪之下。 e.g。
$(function(){
// declare $img scope here
var $img;
/*
other code
...
if ($img) { ... }
...
*/
$('#home_sec_2').on('mouseleave','img',function(){
// assign it here
$img = $(this).prev();
});
});
在其他地方使用之前,请务必先测试if($img)
,或设置默认值。
答案 1 :(得分:2)
为什么不制作全局变量?
<script>
var your_var;
$('#home_sec_2').on('mouseover','img',function(){
your_var = 'some initialization';
});
$('#home_sec_2').on('mouseleave','img',function(){
alert(your_var);
});
</script>