整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

回到页面指定位置的三种方式

标签

首先放出html

<body>

<contain class="test1">

<a name="topAnchor"></a>

<div id="top">我是顶部</div>

<div></div>

<div></div>

<div></div>

<div></div>

<div></div>

</contain>

<footer>

<button id="backTop1">第一种方式回到顶部</button>

<button id="backTop2">第二种方式回到顶部</button>

<button id="backTop3">第三种方式回到顶部</button>

</footer>

</body>

然后具体操作步骤如下

  1. 将a标签放到指定元素的附近
  2. 然后通过点击事件生成 a 标签
  3. 触发a标签事件
  4. 删除a标签

const backTop1 = document.getElementById("backTop1")


backTop1.addEventListener("click", function (e) {

let a = document.createElement("a")

a.href = "#topAnchor"

e.target.appendChild(a)

a.onclick = function (e) {

e.stopPropagation()

}

a.click()

e.target.removeChild(a)

})

效果如下图所示

效果很明显,在事件触发之后,页面立马跑到的顶部,在交互性没啥要求的时候,这种做法确实没啥问题,不过要求高了之后就不行了,会显得有些突兀。

scrollTo()

此 api 需要传递 DOM元素相对于window的 left 和 top 的距离,此例子仅展示简单demo,只考虑 top 坐标

当然它还有一个 behavior 参数,将其设置为 smooth 后,将会出现滑动效果 步骤如下:

  1. 计算目标元素距离顶部的距离
  2. 通过事件触发

代码如下:

const backTop2 = document.getElementById("backTop2")

const TOP = document.getElementById("top")

const y = TOP.offsetTop

const backTop3 = document.getElementById("backTop3")

backTop3.addEventListener("click", function (e) {

window.scrollTo({ top: y, left: 0, behavior: 'smooth' })

})

效果如下图所示

从效果上来看,相较于a标签,该api支持动画,使得页面更丝滑

Element.scrollIntoView()

该 api 相较于上一个,节点信息更加的明确,操作方法也更加的简洁,更利于后续的维护

代码如下

const backTop2 = document.getElementById("backTop2")

const TOP = document.getElementById("top")

backTop2.addEventListener("click", function (e) {

TOP.scrollIntoView({ behavior: "smooth" })

})

效果如下图所示

从效果上来看,该api和scrollTo的作用是一致的,但是从代码结构上来说,scrollIntoView会更加的简洁

以上三种方法是我目前比较常用的,如有不同之处,还望诸君不吝赐教!


作者:pengpeng

链接:https://juejin.cn/post/6906142651121139719

来源:掘金

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

家好,我是江湖哥,今天分享html教程入门级的部分,大神请绕道,小白请点赞,哈哈,言归正传:

Html教程:a标签

知识要点:

1. a标签的概念

2. a标签属性



一:什么是a标签?

a标签的作用:就是用于控制页面与页面之间的跳转的

a标签的格式:<a href="指定要跳转的目标界面的链接">需要展示给用户看见的内容</a>

<a href="https://www.toutiao.com/">江湖哥博客</a>

二:a标签的属性

a标签中有一个target属性,这个属性的作用就是专门用于控制如何跳转

描述

_blank

于在新的选项卡中跳转,也就是新建页面跳转

_self

默认。在当前选项卡中打开被链接文档,也就是不新建页面跳转

_parent

在父框架集中打开被链接文档。

_top

在整个窗口中打开被链接文档。

framename

在指定的框架中打开被链接文档。

<a href="https://www.toutiao.com/">可见内容</a>
<a href="https://www.toutiao.com/" target=”_blank”>江湖可见博客</a>

a标签中还有一个属性,叫做title,a标签中的title和img标签中title一样,都是用来控制鼠标悬停时显示的提示文本内容的

<a href="https://www.toutiao.com/" target="_blank" title="点击会跳转到可见博客首页">可见</a>

设置 target 属性时, top 与 parent 的打开方式十分类似,需仔细区分。

比如网 A 中镶嵌了 iframe 网页 B,网页 B 又镶嵌了 iframe 网页C。

· 如果网页 C 中连接设置 target=_parent,则跳转到网页 B 去掉直接在 A 中嵌入网页 C 中链接页面。

· 如果网页 C 中 target=_top ,则直接跳出所有 iframe 框架,直接转向 C 中链接页面


注意点:

1.a标签不仅可以让文字可以点击,还可以让图片也能够被点击。

2.一个a标签必须有一个href属性,否则a标签不知道要跳转到什么地方

3.如果通过a标签的href属性指定一个URL地址,那么必须在地址前面加上http://或https://。

4.a标签的href属性除了可以绑定一个网络地址以外,还可以指定一个本地的地址


<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>a标签的使用</title>
</head>
<body>
		<a name="top"></a>
		<a href="https://www.toutiao.com/">a是控制界面也页面的跳转</a><br><br>
		<a href="https://www.toutiao.com/" target="_blank">跳转到新窗口打开</a><br><br>

		<a href="#name1">锚点跳转1</a>&nssp;&nssp;&nssp;<a href="#name2">锚点跳转2</a>


		<br><br><br><br><br><br><br><br><br><br>
		<br><br><br><br><br>
		<br><br><br><br><br>
		<br><br><br><br><br>
		<br><br><br><br><br>
		<br><br><br><br><br>
		<br><br><br><br><br>
		<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

		这是一个锚点跳转文字1 <a name="name1"></a>   <a href="#top">返回顶部</a>

	<br><br><br><br><br><br><br><br><br><br>
		<br><br><br><br><br>
		<br><br><br><br><br>
		<br><br><br><br><br>
		<br><br><br><br><br>
		<br><br><br><br><br>
		<br><br><br><br><br>
		<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

		这是一个锚点跳转文字2 <a name="name2"></a>   <a href="#top">返回顶部</a>
</body>
</html>

关注我,点击下面链接,即可看视频

大家介绍如何通过 JS/CSS 实现网页返回顶部效果。

CSS 按钮样式:

#myBtn {

display: none; /* 默认隐藏 */

position: fixed;

bottom: 20px;

right: 30px;

z-index: 99;

border: none;

outline: none;

background-color: red; /* 设置背景颜色,你可以设置自己想要的颜色或图片 */

color: white; /* 文本颜色 */

cursor: pointer;

padding: 15px;

border-radius: 10px; /* 圆角 */

}