网站制作中导航栏目在网 站内部跳转实现方式

点击导航栏目在页面内部跳转;
在普通的html文档中 ,页面内部的锚点跳转,我们通常使用 a 标签 <a href='#锚点Id'> </a>,同时在需要跳转到的位置 ,要设置一个锚点(很形象的理解,渔船出海要停船了,防止漂走 ,首先要抛锚大笑),怎么设置锚点,对应的元素 id="锚点id",如法一
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>红宝书练习 </title>
<style>
div{
width: 100%;
height: 500px;
border: 2px solid ;
background: orange;
}
</style>
</head>
<body>
<ul>
<li><a href="#div1">跳转div1</a></li>
<li><a href="#div2">跳转 div2</a></li>
<li><a href="#div3">跳转 div3</a></li>
</ul>
  <hr>
  <div id="div1">div1</div>
<div id="div2">div2</div>
<div id="div3">div3</div>
</body>
</html>
这种方法的缺点 页面的URL 会发生变化  如 URL :file:///C:/Users/31295/Desktop/html5实例/红宝书练习.html#div1,当点击上方<a>,页面内部跳转,同时上方URL的标红部分 也会发生变化 (这不是我们想要的)
方法二,在js事件中通过window.location.hash="divId" ,改变# 号后面的 值  但地址也会发生变化,感觉跟第一种方法没区别,甚至更麻烦。
方法三,利用Element.scrollIntoView()方法,让元素滚动到浏览器的窗 口可视区域,先看下方法对应的参数
    element.scrollIntoView(align-top);  // Boolean型参数   element.scrollIntoView()默认参数true;
    element.scrollIntoView(scrollIntoViewOptions);  // Object型 参数
1.Element.scrollIntoView() 等同于 Element.scrollIntoView(true)  也即默认值true,表示元素的顶端和浏览器可视区域的 顶端对齐。
2.Element.scrollIntoView(false) 表示元素的底端和浏览器可视区域的底端对齐。
scrollIntoViewOptions(Object型 参数)
    {
        behavior: "auto"  | "instant" | "smooth",
        block:    "start" | "end",
    }
1.block:"start" 相当于true,block:"end" 相当于false。
2.behavior能控制页面跳转的快慢 ,auto 和instant 都是立即直接跳转到所在锚点,不够友好,smooth表示平滑过渡到 所在锚点。

在react应用中,由于url 变化会触及路由跳转,所以第三种方法优选,怎么写呢?
    scrollToAnchor = (anchorName) => {
        if (anchorName) {
            // 找到锚点
            let anchorElement = document.getElementById (anchorName);
            //如果对应的id锚点存在就跳转
            if (anchorElement) {
                anchorElement.scrollIntoView({block: 'start', behavior: 'smooth'});
            }
        }
<ul&

免责声明

本文章部分图片素材和内容素材来源于网络,仅供学习与参考,如果损害了您的权利,请联系网站客服,我们核实后会立即删除。

相关文档
18 2019-04
降低网站跳出率的方法有 哪些 网站的跳出率较高表示用户对网站不满意,PageAdmin建议你可以考虑以下方法,让访客在网页上停留的时间较长:检查浏览器的兼容性:游 客没有在网站的页面上发现信息,立即会产生较低的网页弹回率。然而,这种状态是不适用网站的每一个网页,但浏览器的
18 2019-04
网站建设和浏览器的兼容 性 在互联网初期,很多网站的广告“最佳浏览使用 Netscape”或“最佳浏览器为Internet Explorer”等。现在这些标签似乎是罕见的。网页设计师花费了很多的精力,以促进网站在搜索引擎的 排名。网站设计和浏览器的兼容性如下:1、在网站的
18 2019-04
独立IP的虚拟主机有哪些 竞争力 独立的IP就是您的虚拟主机自己有一个单独的IP地址,这样,您的用户除了记住您的域名外,在浏览 器的地址栏敲入您的IP地址也能访问到您的网站。如果没有独立IP的话,别人要访问您的网站只能敲入域名才行。除此之外,由于IP地址紧张 ,所以您使用独立I
17 2019-04
企业建站系统一般有哪些 企业网站建设系统有哪些?今天八梦网络工作室就给你介绍一下,希望对你进行企业网站建设有 所帮助。 1.discha很多人都用这个做论坛网站,PHP程序,行内论坛网站基本都是采用这个系统!2.PageAdmin 本站就是用这个程序做的,用 asp.
17 2019-04
公司建网站一般需要多 少钱 企业网站制作一般需要多少钱?这个没有办法给你具体说,因 为每家公司价格不一样,网站复杂了,自然也就贵一些。一般有几百、几千、几万也有,做网站不能只考虑价格,不然网站做成了,只是个摆 设没什么用。几百的网站基本都是模板建站,找个同行网站模仿做个模
17 2019-04
如何防止网站内容被复 制的方法 在网站建设中,什么是内容复制?网站内容复制是指将一个网站的内容照搬到 另一个网站,造成两个网站内容完全一样或者非常近似。有些站长命名为“仿站”,也有些站长命名为“抄站”;为什么搜索引擎讨厌网站内 容的复制?当用户用搜索引擎搜索内容的时候,用户希
16 2019-04
商城购物类网站建设方 案 网上商城网 站的业务更依赖于互联网,基于互联网络销售,消费者基本都来源于网上。电子商城的订购功能更强大,集批发、零售、团购及在线支付等功 能于一体的订单创建与费用支付。商城网站建设的商业价值分析;  一次投资进行网上商城网站建设后,您便可以实现
16 2019-04
智慧消防解决方案 智慧消防是利用物联网、人工智能、虚拟现实、移动 互联网+等最新技术,配合大数据云计算平台、火警智能研判等专业应用,实现城市的消防的智能化,是智慧城市消防信息服务的数字化基础, 也是智慧城市智慧感知、互联互通、智慧化应用架构的重要组成部分。方案介