使用location.reload()后滚动到特定的div

时间:2016-06-17 12:29:02

标签: javascript php jquery html css

我有一个JQuery函数,我想重新加载我的网页,然后将其滚动到特定的div。

我做了这个

$(document).ready(function() {
  $('#mybutton').click(function(e) {
    location.reload();
    $('html, body').animate({
      scrollTop: $("#myID").offset().top
    }, 1000);
  })
})

当我运行我的脚本时,我的页面重新加载得非常好,但滚动脚本不会像我想的那样运行。

请帮忙

3 个答案:

答案 0 :(得分:2)

我想我们可以使用cookie让它按照我们的意愿工作..我添加一个小样本代码..请检查出来..如果你需要更多的帮助,请评论..如果这解决了你的问题然后投票这个答案将非常感谢.. 感谢

$(document).ready(function() {


  $('#mybutton').click(function(e) {

      //$.cookie("reload", 1);  // you can use this type of cookie if u have a jquery cookie plugin how ever i have added both type ..

      document.cookie=1; // I know this is the absurd way to use cookies. just thought of solving your problem. if you need precise result then either use a jquery cookie plugin or use setCookie function.
      reload=true;
    location.reload();


  })
  console.log(document.cookie);
  if(document.cookie==1) //if($.cookie("reload")==1)
  {
      document.cookie="0";
      console.log(document.cookie);
  $('html, body').animate({
      scrollTop: $("#myID").offset().top
    }, 1000);
  //$.cookie("reload", 0);
  }
})

答案 1 :(得分:1)

$(document).ready(function() {
  $('#mybutton').click(function(e) {
    location.reload();
  });
  $('html, body').animate({
      scrollTop: $("#myID").offset().top
  }, 1000);
});

如果您不想重新加载页面,那么点击它将正常工作,因为这需要代码中的一些修改

$(document).ready(function() {
  $('#mybutton').click(function(e) {

    $('html, body').animate({
      scrollTop: $("#myID").offset().top
    }, 1000);

  });
});

答案 2 :(得分:0)

尝试我的解决方案 你的div内添加这种类型的链接

<a name="exactline">Linking Directly to a Specific Location</a>

当你调用window reload时这样做

window.location.replace("http://yuorsite/yourCurentPage.html#exactline");