页面就是这么简单!为啥a标签点击后滚动条会滚到页面顶端?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jshint</title>
<style type="text/css">
body{
height:1500px;
}
#fill{
width:1000px;
height:1000px;
}
#a{
display: block;
width:300px;
height:30px;
border:5px solid black;
}
</style>
</head>
<body>
<p id="fill"></p>
<a href="" id="a">点我改变边框颜色</a>
<script type="text/javascript">
document.getElementById('a').onclick = function () {
this.style.cssText = 'border:5px solid red;'
};
</script>
</body>
</html>
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你在
href里面置空,相当于给定了一个空的URI,然后浏览器默认合并当前的URL,最后生成了和当前URL一样的一个PATH,然后就跳转至这个PATH,然后就相当于刷新了当前页面。可能由于你本地或者缓存,这个刷新的操作很快,以至于让你有了滚动到顶部的错觉。解决办法通常是加
#或者javascript:void(0),或者给这个a标签绑定js的click事件,再阻止默认。在a标签的href=“” 里面加上javascript:void(0) 或者 #号,防止不必要的跳转