We have a javascript function that should "move" a page to a certain position using anchors. This function just does window.location.href = "#" + hashName
. This works in FF, but not in IE. I tested this code using IE7 under Windows XP.
I have tried using window.location.href
, window.location.hash
, window.location.replace
and all these ways, but using document
object.
Does anyone know how to deal with this issue?
IE and most other browsers will scroll to an anchor with anchor.focus(), or to any element with an id with element.scrollIntoView(true)
I justed tested this in IE7 under Vista, maybe the issue only exsists in IE7 under XP? Because this works fine for me in IE7, Chrome and Firefox:
window.location.hash = hashName;
If this really doesn't work then we could use scrollIntoView as Kennebec suggests.
function scrollToAnchor(anchorName){
//set the hash so people can bookmark
window.location.hash = anchorName;
//scroll the anchor into view
document.getElementsByName(anchorName)[0].scrollIntoView(true);
}
Use like this:
<script type='text/javascript'>scrollIToAnchor('foo');</script>
<a name='foo'></a>
<p>I will be scrolled into view</p>
Have you tried changing just location.hash
?
window.location.hash = "#" + hashName;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With