scrollIntoView() 方法实现元素滚动

2023-11-12

@[TOC](scrollIntoView() 方法实现元素滚动)

element.scrollIntoView()

Element 接口(dom元素)的 scrollIntoView() 方法会滚动元素的父容器,使被调用 scrollIntoView() 的元素对用户可见。

应用场景

点击页面顶部的题号标签tag实现滚动到具体题目位置。goAnchor是封装 scrollIntoView()后的方法,通过传入css选择器定位具体dom元素。

html结构

题号标签

<span :key="item.itemOrder"  v-for="item in answer.answerItems">
    <el-tag :type="questionCompleted(item.completed)" class="do-exam-title-tag" @click="goAnchor('#question-'+item.itemOrder)">{{item.itemOrder}}</el-tag>
</span>

题目html

<el-card class="exampaper-item-box" v-if="titleItem.questionItems.length!==0">
    <el-form-item :key="questionItem.itemOrder" :label="questionItem.itemOrder+'.'"
         v-for="questionItem in titleItem.questionItems"
         class="exam-question-item" label-width="50px" 
         :id="'question-'+ questionItem.itemOrder">
              <QuestionEdit :qType="questionItem.questionType" :question="questionItem"
                              :answer="answer.answerItems[questionItem.itemOrder-1]"/>
    </el-form-item>
</el-card>

滚动方法封装

goAnchor (selector) {
      this.$el.querySelector(selector).scrollIntoView({ behavior: 'instant', block: 'center', inline: 'nearest' })
},

$el.querySelector(selector)获取具体都没元素,这里selector参数传入的是id选择器#question-'+item.itemOrder,也就是题号,scrollIntoView()实现滚动到dom元素。
behavior定义动画过渡效果,“instant” "auto"或 “smooth” 之一。默认为 “auto”;
block定义垂直方向的对齐, “start”, “center”, “end”, 或 "nearest"之一。默认为 “start”;
inline定义水平方向的对齐, “start”, “center”, “end”, 或 "nearest"之一。默认为 “nearest”。

vue中$总结

vm.$el
获取Vue实例关联的DOM元素;

vm.$data
获取Vue实例的data选项(对象)

vm. o p t i o n s 获取 V u e 实例的自定义属性(如 v m . options 获取Vue实例的自定义属性(如vm. options获取Vue实例的自定义属性(如vm.options.methods,获取Vue实例的自定义属性methods)

vm. r e f s 获取页面中所有含有 r e f 属性的 D O M 元素(如 v m . refs 获取页面中所有含有ref属性的DOM元素(如vm. refs获取页面中所有含有ref属性的DOM元素(如vm.refs.hello,获取页面中含有属性ref = “hello”的DOM元素,如果有多个元素,那么只返回最后一个)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

scrollIntoView() 方法实现元素滚动 的相关文章

随机推荐

  • ZooKeeper的学习与应用

    转载 http blog csdn net rengq126 article details 7393227 最近大概学习了一下ZooKeeper 本身并没有深入 LGG尝试着在虚拟机里面搭了平台 看了看一些教材 从网上到处看别人的博文并引
  • Amdahl's law and Gustafson's law

    在高并发程序设计中有两个非常重要的定律 Amdahl 阿姆达尔定律 Gustafson定律 古斯塔夫森定律 这两个定律从不同的角度诠释了加速比与系统串行化程度 cpu核心数之间的关系 它们是我们在做高并发程序设计时的理论依据 加速比 加速比
  • python学习之定制发送带附件的电子邮件

    Python SMTP发送邮件 SMTP Simple Mail Transfer Protocol 即简单邮件传输协议 它是一组用于由源地址到目的地址传送邮件的规则 由它来控制信件的中转方式 python的smtplib提供了一种很方便的
  • 【C++】STL-常用算法-常用查找算法

    0 前言 1 find include
  • @ResponseBody 和 @RequestBody以及@PathVariable的作用

    一 ResponseBody ResponseBody是作用在方法上的 ResponseBody 表示该方法的返回结果直接写入 HTTP response body 中 一般在异步获取数据时使用 也就是AJAX 在使用 RequestMap
  • form表单及ajax使用form-serialize提交

    1 表单定义 在网页中 表单主要负责数据的采集功能 表单由 表单标签 表单域 表单按钮 组成 html的form标签就是表单标签 是一个容器 用来将页面中指定的区域划定为表单区域 表单域 提供了采集用户信息的渠道 input textare
  • 计算机毕业设计-基于SSM的学生成绩管理系统

    项目摘要 系统开发技术 Java语言 Java主要采用CORBA技术和安全模型 可以在互联网应用的数据保护 它还提供了对EJB Enterprise JavaBeans 的全面支持 java servlet API Java java se
  • 微信小程序自定义导航栏

    微信小程序自定义导航栏 业务需求 点击小房子进行跳转指定的页面 更改小房子的样式 或者是自定义导航栏 首先我们需要找到pages json这个文件 如果是原生的微信小程序文件名字是 app json其实就是找到配置路由的文件 在代码里面添加
  • 服务器拖两个屏幕win10系统,win10系统设置两个显示器的还原方案

    win10系统使用久了 好多网友反馈说关于对win10系统设置两个显示器设置的方法 在使用win10系统的过程中经常不知道如何去对win10系统设置两个显示器进行设置 有什么好的办法去设置win10系统设置两个显示器呢 在这里小编教你只需要
  • Jackson 双引号的问题

    当用执行下面的代码的时候 String json name chenhailong Map
  • 手机端效果实现下拉刷新上拉加载更多数据---自定义数据篇

    代码如下 需安装react pullload插件 yarn add react pullload import React from react import node modules react pullload dist ReactPu
  • Libvrit热添加/删除CPU/MEM

    默认用virt manager创建的虚拟机不能直接动态添加删除CPU 需要先修改配置 关闭虚拟机后再开启生效 virsh setvcpus client1043 8 config maximum 然后关闭虚拟机后 再开机就可以随意热添加删除
  • 【博客698】为什么当linux作为router使用时,安装docker后流量转发失败

    为什么当linux作为router使用时 安装docker后流量转发失败 场景 当一台linux机器作为其它服务器的router 负责转发流量的时候 让你在linux上安装docker之后 就会出现流量都被drop掉了 原因 没装docke
  • 卷积操作代码举例————PyTorch

    哔哩大学的PyTorch深度学习快速入门教程 绝对通俗易懂 小土堆 的P17讲讲述了卷积操作的举例使用 首先 要做的效果如图 一个很简单的输入图像 卷积核首先和输入图像左上角33对齐 然后对应格子相乘 再9个格子相加 即1 22 0 1 如
  • MATLAB BP神经网络预测算法

    内容 BP神经网络是一种多层前馈网络 可以进行学习和存储输入输出映射关系 不需要建立数学方程式 BP神经网络预测算法预测序号15的跳高成绩 下表是国内男子跳高运动员各项素质指标 P 3 2 3 2 3 3 2 3 2 3 4 3 2 3 3
  • [洛谷] [NOIP2018 提高组] 旅行 加强版 - 基环树

    题目链接 https www luogu com cn problem P5049 题目描述 小 Y 是一个爱好旅行的 OIer 她来到 X 国 打算将各个城市都玩一遍 小Y了解到 X国的 n 个城市之间有 m 条双向道路 每条双向道路连接
  • d3dcompiler_43.dll缺失怎么修复方法_d3dcompiler43dll丢失怎么解决

    懂电脑的人都知道 dll文件是电脑运行各种程序的根本 少了它的话无论什么软件 游戏都运行不了 但是dll文件又并不只有一种 其中最常丢失的是这款d3dcompiler 43 dll文件 这款文件是运行电脑系统的关键 也是运行电脑上常用程序的
  • Go 语法 变量

    文章目录 简介 一些语法 go 数据类型 demo code 简介 go的一个思想 一个问题尽量只有一个解决方案是最好的 go 中函数是第一等元素 studygolang com pkgdoc go build src go 编译 go r
  • Vulkan同步机制和图形-计算-图形转换的风险(一)

    在现代渲染环境中 很多情况下在一个数据帧期间会产生计算负荷 在GPU上计算通常 非固定功能 是并行编程的 通常用于具有挑战性 完全不可能或仅通过标准图形管道 顶点 几何 细化 栅格 碎片 实现的效率低下的技术 一般情况下 计算在实现技术方面
  • scrollIntoView() 方法实现元素滚动

    TOC scrollIntoView 方法实现元素滚动 element scrollIntoView Element 接口 dom元素 的 scrollIntoView 方法会滚动元素的父容器 使被调用 scrollIntoView 的元素