javascript - window.reload() - reload to top of page of anchor - Stack Overflow

Consider the following inline code below:<h1 id="top">Top Of Page<h1>...<a

Consider the following inline code below:

<h1 id="top">Top Of Page</h1>
...
<a class='reload' onClick='window.location.reload();'>Reload</a>

How would one implement this in a fashion where when the window reloads, it goes to the top of the page of hits the anchor? I tried just doing:

reload to top of page

$(window).on('load', function(){
  $('html, body').scrollTop(0);
});

and:

Reload browser does not reset page to top

$(document).ready(function(){
    $(this).scrollTop(0);
});

Directly in the related template but it wouldn't load to top? Besides jQuery not being included Why would that be?

Is there a way to do this inline to keep consistent? so something like (which I tried):

<a class='reload' onClick='window.location.reload().scrollTop(0);'>Reload</a>

Which doesn't go to the top of the page, either.

I then thought to do the href of the id I can anchor to:

anchor jumping by using javascript (slightly tweaked to my situation)

<script type="text/javascript">
function goToTop(){
    var url = location.href;               
    location.href = url + "#top";             
}
</script>

<a class='reload' onClick='goToTop()'>Reload</a>

In this approach, it just adds "#top" to the URL and nothing else.

I was under the impression what if you change location.href it redirects to the new URL. It says here that "The href property sets or returns the entire URL of the current page." Why won't it set it in the above function?

This seems pretty simple so I'm not understanding what I'm missing?

Consider the following inline code below:

<h1 id="top">Top Of Page</h1>
...
<a class='reload' onClick='window.location.reload();'>Reload</a>

How would one implement this in a fashion where when the window reloads, it goes to the top of the page of hits the anchor? I tried just doing:

reload to top of page

$(window).on('load', function(){
  $('html, body').scrollTop(0);
});

and:

Reload browser does not reset page to top

$(document).ready(function(){
    $(this).scrollTop(0);
});

Directly in the related template but it wouldn't load to top? Besides jQuery not being included Why would that be?

Is there a way to do this inline to keep consistent? so something like (which I tried):

<a class='reload' onClick='window.location.reload().scrollTop(0);'>Reload</a>

Which doesn't go to the top of the page, either.

I then thought to do the href of the id I can anchor to:

anchor jumping by using javascript (slightly tweaked to my situation)

<script type="text/javascript">
function goToTop(){
    var url = location.href;               
    location.href = url + "#top";             
}
</script>

<a class='reload' onClick='goToTop()'>Reload</a>

In this approach, it just adds "#top" to the URL and nothing else.

I was under the impression what if you change location.href it redirects to the new URL. It says here that "The href property sets or returns the entire URL of the current page." Why won't it set it in the above function?

This seems pretty simple so I'm not understanding what I'm missing?

Share Improve this question asked Jul 25, 2018 at 17:42 kawnahkawnah 3,4348 gold badges64 silver badges117 bronze badges 3
  • You could possibly do a bination of the two, add the hash, and then reload. – Taplar Commented Jul 25, 2018 at 17:44
  • 3 "window.scrollTo(0,0); window.location.reload()" – epascarello Commented Jul 25, 2018 at 17:46
  • @epascarello awesome, thanks a ton. I didn't think to do two separate events – kawnah Commented Jul 25, 2018 at 17:49
Add a ment  | 

2 Answers 2

Reset to default 2

You just need to add window.location.reload(true) after the line where you set [window.]location.href to your anchor.

Related

Posting answer by @epascarello embedded in ments, above, as it worked for me and is the simplest answer I've seen.

If you don't need/want any animated reload actions, simply use two different events - first to move the current page/scroll location to the top [window.scrollTo(0,0);] and then reload the page, either from the cache [window.location.reload();] or from the server if you've updated any of the needed data [window.location.reload(true);]. So,

// Moving page to top on forced reload in javascript
window.scrollTo(0,0); 
window.location.reload();    //or window.location.reload(true) to use new/updated data from the server

Hope this helps others. Thanks, again, @epascarello!

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745307800a4621819.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信