我尝试在点击时创建一个变量,并在另一个onclick动作上使用它。 但是当第二个onclick尝试使用它时,似乎该变量不存在。
$( "#search" ).click(function() {
var myVariable = $(document).scrollTop();
});
$( "#gachette" ).click(function() {
$('html, body').animate({scrollTop:myVariable}, 10);
});
你知道为什么它不起作用吗?
答案 0 :(得分:3)
让你的变量全局化。
$( "#search" ).click(function() {
myVariable = $(document).scrollTop(); //global variable remove var from starting
});
var
使您的变量属于范围。
或在
之外声明你的变量var myVariable;
$( "#search" ).click(function() {
myVariable = $(document).scrollTop();
});
阅读What is the scope of variables in JavaScript?和Variable Scope (JavaScript)
答案 1 :(得分:1)
所有关于范围
var myVariable; // DEFINE OUTSIDE!
$( "#search" ).click(function() {
myVariable = $(document).scrollTop(); // DON'T USE var HERE
});
$( "#gachette" ).click(function() {
$('html, body').animate({scrollTop:myVariable}, 10);
});
答案 2 :(得分:0)
没有全局:
$("#search").on('click', function() {
$("#gachette").data('scrollTop', $(window).scrollTop());
});
$("#gachette").on('click', function() {
$('html, body').animate({scrollTop: $(this).data('scrollTop')}, 10);
});