使用jQuery进行两次onclick操作的变量

时间:2013-11-14 16:27:00

标签: javascript jquery variables click

我尝试在点击时创建一个变量,并在另一个onclick动作上使用它。 但是当第二个onclick尝试使用它时,似乎该变量不存在。

$( "#search" ).click(function() {
    var myVariable = $(document).scrollTop();
});

$( "#gachette" ).click(function() {
    $('html, body').animate({scrollTop:myVariable}, 10);
});

你知道为什么它不起作用吗?

3 个答案:

答案 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);
});