单击后jquery update var的另一个函数的值

时间:2014-02-06 14:47:17

标签: jquery

$(document).delegate('.open', 'click', function(){
    var t = window.pageYOffset;
    $('body').css({position:'fixed', 'overflow-y':'scroll', 'top':-t + 'px'});
    return false;//prevent href go next page
}); 

$('.close').click(function(){
    $(window).scrollTop(t);

});

按钮点击时我有一个页面,它会设置固定的主体并获得页面的滚动高度。

另一个按钮点击,身体将返回静态,滚动条将返回到它的位置

我的问题是无法从.open点击获取值。是解决这个问题的任何方法。

2 个答案:

答案 0 :(得分:2)

t = 0;

$(document).delegate('.open', 'click', function(){    
    t = window.pageYOffset;
    $('body').css({position:'fixed', 'overflow-y':'scroll', 'top':-t + 'px'});
    return false;//prevent href go next page
}); 

$('.close').click(function(){
    $(window).scrollTop(t);

});

您需要声明全局变量tmp>

答案 1 :(得分:1)

你需要在共享范围内声明它(可能作为dom ready处理程序中的闭包变量)

var t =0;
$(document).delegate('.open', 'click', function(){
    t = window.pageYOffset;
    $('body').css({position:'fixed', 'overflow-y':'scroll', 'top':-t + 'px'});
    return false;//prevent href go next page
}); 

$('.close').click(function(){
    $(window).scrollTop(t);

});