html页面定位到指定位置的4种实现方式

6 篇文章 0 订阅

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
</head>
<style>
    body {
        text-align: center;
    }

    #go_to {
        position: fixed;
        right: 10px;
        bottom: 10px;
    }
</style>
<body>
<h3 name="top">唐诗300首</h3>
<p>《春晓》<br/>
    作者:孟浩然<br/>
    春眠不觉晓,处处闻啼鸟。<br/>
    夜来风雨声,花落知多少。</p>
<p> 《鹿柴》<br/>
    作者:王维<br/>
    空山不见人,但闻人语响。<br/>
    返影入深林,复照青苔上。</p>
<p> 《相思》<br/>
    作者:王维<br/>
    红豆生南国,春来发几枝。<br/>
    愿君多采撷,此物最相思。</p>
<p> 《杂诗》<br/>
    作者:王维<br/>
    君自故乡来,应知故乡事。<br/>
    来日绮窗前,寒梅著花未。</p>
<p> 《终南望余雪》<br/>
    作者:祖咏 <br/>
    终南阴岭秀,积雪浮云端。<br/>
    林表明霁色,城中增暮寒。</p>
<p id="jys"> 《静夜思》<br/>
    作者:李白<br/>
    床前明月光,疑是地上霜。<br/>
    举头望明月,低头思故乡。</p>
<p> 《登鹳雀楼》<br/>
    作者:王之涣<br/>
    白日依山尽,黄河入海流。<br/>
    欲穷千里目,更上一层楼。</p>
<p> 《江雪》<br/>
    作者:柳宗元<br/>
    千山鸟飞绝,万径人踪灭。<br/>
    孤舟蓑笠翁,独钓寒江雪。</p>
<p> 《登乐游原》<br/>
    作者:李商隐 <br/>
    向晚意不适,驱车登古原。<br/>
    夕阳无限好,只是近黄昏。</p>
<p> 《弹琴》<br/>
    作者:刘长卿 <br/>
    泠泠七弦上,静听松风寒。<br/>
    古调虽自爱,今人多不弹。</p>
<p> 《八阵图》<br/>
    作者:杜甫<br/>
    功盖三分国,名成八阵图。<br/>
    江流石不转,遣恨失吞吴。</p>
<p id="cao"> 《草》<br/>
    作者:白居易<br/>
    离离原上草,一岁一枯荣。<br/>
    野火烧不尽,春风吹又生。<br/>
    远芳侵古道,晴翠接荒城。 <br/>
    又送王孙去,萋萋满别情。</p>

<p> 《关山月》<br/>
    作者:李白<br/>
    明月出天山,苍茫云海间。<br/>
    长风几万里,吹度玉门关。<br/>
    汉下白登道,胡窥青海湾。<br/>
    由来征战地,不见有人还。<br/>
    戍客望边色,思归多苦颜。<br/>
    高楼当此夜,叹息未应闲。</p>

<p> 《望月怀远》<br/>
    作者:张九龄<br/>
    海上生明月,天涯共此时。<br/>
    情人怨遥夜,竟夕起相思。<br/>
    灭烛怜光满,披衣觉露滋。<br/>
    不堪盈手赠,还寝梦佳期。</p>

<p> 《送杜少府之任蜀州》<br/>
    作者:王勃<br/>
    城阙辅三秦,风烟望五津。<br/>
    与君离别意,同是宦游人。<br/>
    海内存知己,天涯若比邻。<br/>
    无为在岐路,儿女共沾巾。</p>

<p> 《春望》<br/>
    作者:杜 甫<br/>
    国破山河在,城春草木深。<br/>
    感时花溅泪,恨别鸟惊心。<br/>
    烽火连三月,家书抵万金。<br/>
    白头搔更短,浑欲不胜簪。</p>

<div id="go_to">
    <a href="#top">A、顶部</a>
    <button οnclick="goToTop();">B、顶部</button>
    <button οnclick="goToJys();">C、静夜思</button>
    <button οnclick="goToCao();">D、草</button>
</div>

</body>
<script type="text/javascript" src="jquery-3.0.0.min.js"></script>
<script type="text/javascript">
    function goToTop() {
        location.href = "#top";
    }

    function goToJys() {
        $("html,body").animate({scrollTop: $("#jys").offset().top}, 500);//定位到《静夜思》
    }

    function goToCao() {
        /**
         * 如果滚动页面也是DOM没有解决的一个问题。为了解决这个问题,浏览器实现了一下方法,
         * 以方便开发人员如何更好的控制页面的滚动。在各种专有方法中,HTML5选择了scrollIntoView()
         * 作为标准方法。
         * scrollIntoView()可以在所有的HTML元素上调用,通过滚动浏览器窗口或某个容器元素,
         * 调用元素就可以出现在视窗中。如果给该方法传入true作为参数,或者不传入任何参数,那么
         * 窗口滚动之后会让调动元素顶部和视窗顶部尽可能齐平。如果传入false作为参数,调用元素
         * 会尽可能全部出现在视口中(可能的话,调用元素的底部会与视口的顶部齐平。)不过顶部
         * 不一定齐平,例如:
         * //让元素可见
         * document.forms[0].scrollIntoView();
         * 当页面发生变化时,一般会用这个方法来吸引用户注意力。实际上,为某个元素设置焦点也
         * 会导致浏览器滚动显示获得焦点的元素。
         * 支持该方法的浏览器有 IE、Firefox、chrome、Safari和Opera。
         *
         * 注意这里要使用querySelector选择器
         * querySelectorAll 在文档内找第一个符合选择器描述的节点包括Element本身
         * jQuery(element) 在文档内找第一个符合选择器描述的节点不包括Element本身
         *
         * 参考:http://www.cnblogs.com/daxian2012/archive/2012/10/18/2729359.html
         * 参考:http://blog.csdn.net/only_love_strangers/article/details/47264889
         */
        document.querySelector("#cao").scrollIntoView();
        或者
        /**
         * 这里需要注意的是这里的写法是:$("#cao")[0],而不是:$("#cao"),
         * 因为$('#cao')取得的是一个jQuery对象,而scrollIntoView()是一个DOM
         * 属性,所以要把jQuery对象转为DOM对象才行,而数组下标可以将jQuery对象
         * 转成对象DOM对象。
         */
        $("#cao")[0].scrollIntoView();
    }
</script>
</html>

### 回答1: HTML 页面跳转到指定位置可以通过以下三方式实现: 1. 使用锚点 在 HTML 页面中设置一个锚点,然后在跳转链接中指定该锚点的名称即可跳转到该位置。例如: ```html <a href="#section2">跳转到第二段落</a> ... <h2 id="section2">第二段落</h2> ``` 当点击跳转链接时,页面将自动滚动到 id 为 “section2” 的元素位置。 2. 使用 JavaScript 跳转 可以使用 JavaScript 中的 `scrollIntoView` 方法来实现页面的跳转。例如: ```html <a href="#" onclick="document.getElementById('section2').scrollIntoView(); return false;">跳转到第二段落</a> ... <h2 id="section2">第二段落</h2> ``` 当点击跳转链接时,会触发 `onclick` 事件,执行 JavaScript 中的 `scrollIntoView` 方法将页面滚动到 id 为 “section2” 的元素位置。 3. 使用 URL 参数跳转 可以在跳转链接中添加 URL 参数,然后在页面加载时通过 JavaScript 获取该参数,再使用 `scrollIntoView` 方法跳转到指定位置。例如: ```html <a href="?section=2">跳转到第二段落</a> ... <h2 id="section2">第二段落</h2> <script> // 获取 URL 参数 const urlParams = new URLSearchParams(window.location.search); const section = urlParams.get('section'); // 如果 URL 参数中包含 section,则跳转到对应的位置 if (section) { const el = document.getElementById(`section${section}`); if (el) { el.scrollIntoView(); } } </script> ``` 当点击跳转链接时,页面将跳转到 URL 中指定的参数位置。同时,页面加载时会执行 JavaScript 代码,获取 URL 参数并跳转到相应位置。 ### 回答2: HTML跳转到页面指定位置是指在网页中的某个位置进行跳转或者滚动到指定位置。具体有以下三方式实现回到页面指定位置的跳转: 1. 使用锚点:在HTML标记中添加锚点标识,然后在跳转链接中指定锚点标识即可跳转到页面指定位置。例如,在要跳转的位置添加`<a name="位置1"></a>`,然后在跳转链接中指定`<a href="#位置1"></a>`,即可实现页面跳转到指定位置。 2. 使用JavaScript滚动:利用JavaScript的scrollIntoView()方法可以使页面滚动到指定位置。首先在需要跳转的位置添加一个标识,例如给一个div设置一个id,然后通过JavaScript获取该元素,然后调用scrollIntoView()方法即可让页面滚动到指定位置。 3. 使用CSS滚动:利用CSS的scroll-behavior属性可以控制页面的滚动行为。设置scroll-behavior为smooth时,滚动会自动平滑进行,可以通过设置链接的href属性为指定位置的id,加上一个动画效果实现页面跳转到指定位置。 综上所述,使用锚点、JavaScript滚动和CSS滚动是实现回到页面指定位置的三方式。根据具体需求和动效要求选择合适的方式实现网页跳转到指定位置。 ### 回答3: 在HTML中,我们可以使用锚点(anchor)来实现跳转到页面指定位置。下面介绍三实现方式: 1. 使用a标签的href属性:我们可以在a标签的href属性中使用"#锚点名称"的方式指定跳转到页面的某个位置。例如:`<a href="#section1">跳转到Section1</a>`,同时在需要跳转到的位置上加上一个具有相同名称的id属性,例如`<h2 id="section1">Section1</h2>`。点击跳转链接后,页面会自动滚动到具有相同名称的锚点位置。 2. 使用JavaScript的scrollIntoView()方法:我们可以在JavaScript中使用scrollIntoView()方法来实现跳转到页面指定位置。例如:`document.getElementById("section1").scrollIntoView();`,这将使页面滚动到具有指定id的元素的位置。此方法在需要滚动到的元素上加上id属性后,通过JavaScript调用即可。 3. 使用HTML5的新特性:HTML5中引入了新的元素<dialog>和<details>,它们可以用于折叠内容和模态对话框。我们可以利用这个特性实现跳转到页面指定位置。例如:`<details open>`和`<dialog open>`可以在打开或折叠的状态下显示特定内容。使用这些元素可以创建自定义的定位效果,使页面滚动到指定位置。 以上是三实现跳转到页面指定位置方式,选取合适的方式取决于具体的需求和项目的技术背景。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值