在加载时单击具有窗口高度变量的函数并调整大小

时间:2015-01-08 21:59:25

标签: javascript jquery function resize

我有一个简单的点击功能,可以将页面滚动到某一点。这一点需要是高度的1/2加上650px。我的下面的代码在加载时非常有效:

$(document).ready(function(){

  var scroll = $(window).innerHeight()*.5+650;
    $('a#start').click(function () {
      $('html,body').animate({scrollTop: scroll }, 1500, "easeOutCirc");
      return false;
  });

});

问题是它不会重新计算窗口大小调整的高度。我尝试了以下无济于事:

$(window).resize(function(){

  var scroll = $(window).innerHeight()*.5+650;
  $('a#start').click(function () {
    $('html,body').animate({scrollTop: scroll }, 1500, "easeOutCirc");
    return false;
  });

});

提前感谢任何建议!

2 个答案:

答案 0 :(得分:1)

为什么要在resize处理程序中声明一个click事件?

只需在点击功能中进行高度计算即可。

$(document).ready(function(){

    $('a#start').click(function () {

      var wh=$(window).innerHeight(), scroll = wh*.5+650;

      $('html,body').stop().animate({scrollTop: scroll }, 1500, "easeOutCirc");
      return false;
  });

});

答案 1 :(得分:0)

尝试

$(document).resize and not $(window).resize