Javascript 将变量赋值为当前值JS
我有一个计算滚动像素数的变量,我希望单击时将其当前值指定给不同的变量Javascript 将变量赋值为当前值JS,javascript,scroll,Javascript,Scroll,我有一个计算滚动像素数的变量,我希望单击时将其当前值指定给不同的变量 var scrl = $('body').scrollTop(); $('div').click(function(){ var position = scrl; }); 这是可行的,但只指定一次值。例如,如果我滚动到500px,它将为其分配该值,但如果我再次滚动并单击它,它仍将具有500px的值。在单击函数中定义scrl,否则它将只获得一次 $('div').click(function(){ var s
var scrl = $('body').scrollTop();
$('div').click(function(){
var position = scrl;
});
这是可行的,但只指定一次值。例如,如果我滚动到500px,它将为其分配该值,但如果我再次滚动并单击它,它仍将具有500px的值。在单击函数中定义scrl,否则它将只获得一次
$('div').click(function(){
var scrl = $('body').scrollTop();
var position = scrl;
});
方法调用只返回一个静态值。因此,
$('body').scrollTop()
将只返回当前滚动值并将其保存到scrl
变量中
var scrl = $('body').scrollTop();
$('div').click(function(){
var position = scrl;
});
由于要获取当前值,每次只需调用该方法:
// the element doesn't change, so it can be saved in a var
var $body = $('body');
$('div').click(function () {
var position = $body.scrollTop();
});
获取事件处理程序中的滚动位置。这是预期的行为。使用
var position=$('body')。scrollTop()
您是否希望scrl
神奇地更改其值?JavaScript是按值传递的scrl
被分配返回值$('body')。scrollTop()
是一个数字。除非您为scrl
分配一个新值,否则其值不会发生神奇的变化。第二次如何测试该值?尝试像这样初始化函数的position变量oustide:::var position$('div')。单击(函数(){position=scrl;});