我将onload设置为调用自定义函数的函数
在函数中我的窗口应滚动到通过散列后的值指定的位置 - 但是我没有看到我的控制台记录我的调试文本也没有页面移动 - 我做错了什么?
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script type="text/javascript">
window.onload = function()
{
scrollToLocation();
};
function scrollToLocation()
{
console.log("hi");
var x = location.hash;
console.log(x);
$('html, body').animate(
{
scrollTop: x
}, 500);
var d = document.createElement("div");
d.style.height = "101%";
d.style.overflow = "hidden";
document.body.appendChild(d);
setTimeout(function ()
{
d.parentNode.removeChild(d);
}, 10);
return false;
}
</script>
答案 0 :(得分:2)
行。
我无法弄清楚为什么窗口加载功能没有触发。
尝试使用文档就绪处理程序
$(function(){
scrollToLocation();
})
至于hashchange事件,请考虑查看this plugin