javascript - 点击页面底部的a标签为啥滚动条会滚到页面顶端?
ringa_lee
ringa_lee 2017-04-10 17:55:36
[JavaScript讨论组]

页面就是这么简单!为啥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>
ringa_lee
ringa_lee

ringa_lee

全部回复(2)
阿神

这是一个必需属性为锚定义一个超文本链接来源。这表示链接目标的URL或URL片段。URL片段是由一个hash符号(#),它指定一个内部目标在当前文档中的位置(ID)开头的名字。URL不限于网页(HTTP)的文件。URL可能使用浏览器所支持的任何协议。例如,文件,FTP,大多数用户代理mailto工作。

你在href里面置空,相当于给定了一个空的URI,然后浏览器默认合并当前的URL,最后生成了和当前URL一样的一个PATH,然后就跳转至这个PATH,然后就相当于刷新了当前页面。可能由于你本地或者缓存,这个刷新的操作很快,以至于让你有了滚动到顶部的错觉。

解决办法通常是加#或者javascript:void(0),或者给这个a标签绑定js的click事件,再阻止默认。

怪我咯

在a标签的href=“” 里面加上javascript:void(0) 或者 #号,防止不必要的跳转

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号