首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JS实现页面进入、返回定位具体位置总结

JS实现页面返回到具体位置方法 其实浏览器也自带了返回的功能,也就是说,自带了返回定位的功能。正常的跳转,返回确实可以定位,但是有些特殊场景就不适 用了。...例如,某些元素是在某种情况下才加上的,又或者多级定位。 目前,我知道的返回定位具体位置有两种方法: ①利用id定位,在跳转的时候带上某个模块的id,返回的时候定位该处。...②利用距离顶部的距离,在跳转的时候带上当前位置滚动过的距离,返回的时候定位该处。 应用场景 定位某一个模块的时候,有二级定位的时候利用方法①....定位具体位置的时候,定位某一个模块的时候,利用方法②。...有二级定位的时候具体实现方法 常见的场景就是有一个tab模块,tab模块下面有相应的内容,进入的时候需要定位某个tab的某个位置。 场景如图: ?

3.8K10
您找到你想要的搜索结果了吗?
是的
没有找到

js获取元素文档区域document的(横向、纵向)坐标的两种方法

获取页面中元素文档区域document的横向、纵向坐标的两种方法及其比较 在js控制元素运动的过程中,对于页面元素坐标位置的获取是经常用到的,这里主要总结下两种方法: 一:通过叠加元素对象和它的offsetParent...(如果存在)的offsetLeft/offsetTop属性来实现 在阅读javascript高级程序设计第三版DOM部分时,了解要获取某个元素在页面上的偏移量,需要将这个元素的offsetLeft和...所以,要得到元素文档区域的坐标位置,只需通过while循环不断获取offsetParent的offsetLeft/offsetTop直到offsetParent = null为止。...js代码: // 获取元素文档区域的坐标 function getPosition(element) { var actualLeft = element.offsetLeft, actualTop...js代码: // 获取元素文档区域的坐标 function getPosition(element){ var dc = document, rec = element.getBoundingClientRect

2.5K30

页面性能优化的利器 — Timeline

因此,对于开发者来说,应该要知道如何去定位网页中发生重绘的区域。 3....如下图中的操作,在勾选了Paint Flashing后,还是在Demo页面中,点击图片触发JS事件,进而会span标签的内容以及颜色,而在页面预览区域中,可以观察该行文本在刷新内容过程中,有绿色的方框进行高亮包围...另外一个重要的现象是,虽然点击后的JS事件仅修改了的内容,但是重绘却发生在整一个标签中,说明了个别元素的重新绘制,一般会影响父元素或者是周围的元素,造成区域性重绘,因此在页面中避免不必要的重绘显得至关重要...小技巧: 当发现页面中,如果存在一些不必要的重绘现象,而又不能够定位具体的原因,可以对该区域中的各个元素,依次进行隐藏(在Element面板中设置visibility:hidden),观察效果来定位。...Paint事件,则会在详情面板中出现一个Paint专有标签:Paint Profiler 通过Paint Profiler面板,开发者可以知道该次Paint事件的绘制时间、绘制位置和大小等信息,并且能够具体某一个元素的绘制耗时

6.7K30

HTML+CSS高级

回到顶部等按钮)             2.7.1     overfloat: [ hidden | scroll | visible]; 四、浏览器,只要触发了BFC或者hasLayout,那么该区域就是一个独立的区域...1.1     它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。...--》js或者绝对定位模拟           1.4     其他                1.4.1     static,默认值                1.4.2     inherit...1.1     它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。...--》js或者绝对定位模拟           1.4     其他                1.4.1     static,默认值                1.4.2     inherit

5.8K61

html遮罩层样式,遮罩层样式

,使场景外的对象或特定区域外的对象不可见; 另一个作用是用来遮罩住某一元件的一部分… jquery.blockUI.js” type=”text/javascript”> //=========遮罩层...cn/eg/eg11/zhuce.html 效果图: 源代码如下: quot… 网上收集几个JS遮罩层效果,可以实现图片弹出、背景变色,类似于windows关机效果,具体的JS如下: 1.Thickbox...,有些頁面需要彈出對話框后對某部份進行遮罩,下面這個方法可以對某個定區域進行遮罩處理 /* begin遮罩层代码 /* 半透明的遮罩层 */ #overlay { background 解决弹出层定位滚动条...scrollTop不兼容问题,即弹出层后滚动条不允许回到最上面,而是停在当前可见区域。...解决applet覆盖遮罩层div的问题 当我们想用一个遮罩层div将整个页面罩住的时候,如果页面上使用了flash或者applet。

4.6K10

常见的触发函数的事件(实现不同的用户体验)

js的时候都知道,函数是我们基本上面每天都在写的一个东西,因为很多的功能是需要函数来实现的,没有函数很多的效果是没办法实现的,那么今天简单的总结一下可以触发函数的一些事件。...onmousemove //鼠标在元素上移动操作 应用场景:一般是需要随时获取某一个元素信息的时候,一些图片的介绍或者别的。...效果实现:鼠标从非元素的区域进入该元素区域的时候,但是离开的时候是不会触发的,而且在元素里面移动也是不触发的,只有进入的一瞬间会触发。...的时候是不会触发函数的,但是离开这个父元素范围最大的范围的时候会触发,如果是out的时候,那么我们从父元素就如子元素的时候,out会认为你离开了元素本身,那么就会触发,尽管你还在最大的div里面,但是你进入到了别的元素...onseeked //用户重新定位视频或者音频的时候触发 应用场景:播放视频或者音频的时候更改播放进度。 效果实现:鼠标重新定位播放时间的时候,这里滑动是不是可以触发呢?

88120

移动端吸顶fixbar解决方案

需求背景 经常会有这样的需求,当页面滚动到某一个位置时,需要某个页面元素固定在屏幕顶部,并且有时需要连续滚动吸顶。...iPhone 4 / iOS 5 / Safari下,当页面发生跳转,再退回时,fixed区域消失,当内容获得焦点时,fixed区域才显示。...在目标区域在屏幕中可见时,它的行为就像position:relative; 而当页面滚动超出目标区域时,它的表现就像position:fixed,它会固定在目标位置。...安卓 滚动距离超过某位置时,js动态设置样式;为了防止惯性滚动引起的fix不及时的情况,在 touchstart、 touchmove 、 touchend 事件都进行监听。...2、使用window.requestAnimationFrame 方法在下一帧前触发浏览器的强制同步布局,是对dom的操作能及时渲染页面上。

2.9K30

第107期:前端搜索列表中某一项并滚动到可视区域

也有可能是表格一次展示了百十条数据,需要前端搜索某一项,滚动该项可视区域内。...大致的图形描述如下: image.png 比如上图中dog超出了在可视区域的下方,则需要填写该数据时,在页面上进行搜索,让dog显示可视容器内。...技术分析 元素滚动 滚动到指定位置,必然要用到ELEMENT.scrollTop或者ELEMENT.scrollTo(X,Y)。...一种是用原生JS,document.getElemtById()或者document.getElmentByClassName()以及document.getElementByTagName()。...当我们用ref直接设置组件库中的组件时,比如Button,ref获取到的其实是这个组件对象,并非直接获取到真实的DOM元素。 所以,在绑定时,需要我们在外面多加一层div,用来获取真实的DOM。

1.5K20

css经典布局——圣杯布局

三栏布局两侧宽度固定不变,中间部分自动填充整个区域。 中间部分的高度是三栏中最高的区域的高度。 header和footer各自占领屏幕所有宽度,高度固定。 中间的container是一个三栏布局。...三栏布局两侧宽度固定不变,中间部分自动填充整个区域。 中间部分的高度是三栏中最高的区域的高度。 圣杯布局的三种实现 【1】浮动 先定义好header和footer的样式,使之横向撑满。...在container中的三列设为浮动和相对定位(后面会用到),center要放在最前面,footer清除浮动。...所以这时给外层的container设置 padding-left: 200px;padding-right: 150px;,给left和right空出位置 这时left并没有在最左侧,因为之前已经设置过相对定位...grid-column: 1/2; 意思是占据第二行网格的从第一条列网格线开始第二条列网格线结束 给center元素设置grid-row: 2; 和 grid-column: 2/4; 意思是占据第二行网格的从第二条列网格线开始第四条列网格线结束

2.5K10

scroll-behavior & scrollIntoView 的使用,以及解决ios手机不兼容的问题

前言 在平时的日常开发中,我们可能会遇到这样的需求,点击一个导航链接,页面会定位一个元素或上去。如下图vue官网所示,我点击左侧导航栏链接,右边会定位相应的位置。...所以,今天就给大家介绍一下css中的scroll-behavior属性和js中的scrollIntoViewAPI,以及相关兼容性问题。...缺点 不能自定义元素顶端对齐方式,默认是元素的顶端将和其所在滚动区的可视区域的顶端对齐。...二、scrollIntoView 它的作用跟scroll-behavior属性是一样的,只不过是用js去实现,并且实现的效果更多。...参数 alignToTop(可选) 值为true,元素的顶端将和其所在滚动区的可视区域的顶端对齐 值为false,元素的底端将和其所在滚动区的可视区域的底端对齐 scrollIntoViewOptions

2.9K10

从场景倒推,在字节我们要什么样的微前端体系

在此之前,我们先聊聊在非微前端时,页面加载是怎么操作的: 通常前端页面应用打包结果的入口就是一段 标签加载 js 文件,执行后往某一个 dom 节点下挂载内容,类似如下 ... ...如果是插入子应用 Shadow DOM 内跟挂载 DOM 同级的位置,可能因为 DOM 结构(顺序)改变导致子应用某些样式出问题,也可能因为子应用所在区域的 位置、大小、margin/padding...Shadow DOM 的 div,这个 div 和 document.body 的定位、大小、margin/padding 属性都完全一样,等同于覆盖在 body 之上,并且内部完全同步了对应子应用插入的...style / css link 标签, 这个 Shadow DOM 的 div 用来承载子应用插入 document.body 上的元素(需要 JS 沙箱配合),这样,不管是 Tooltip /

1.4K30

javascript如何实现类似西瓜视频的视频队列自动播放?

这里有一个很常见的例子,平时喜欢看短视频的朋友可能会注意,我们在浏览某视频头条时,滚动视频列表,当某一个视频滚动到手机的一定位置时(一般可以看成是屏幕中心),该视频会自动播放,当移出指定区域后视频会自动关闭并播放移入指定区域的下一个视频...思路大致如下图所示: 具体思路就是我们可以把Intersection Observer的根元素的rootMargin(即根元素的外边距)设置为如上图蓝色所示区域,然后当视频完全进入该区域内后(也就是thresholds...代码如下: // VideoItem.js import React, { useRef, useEffect } from 'react'; import DPlayer from 'dplayer'...data-src={src}> } 此时视频列表页代码如下: // ... function VideoList...> } 以上步骤即完成了基于指定区域自动播放视频的功能,效果如下: 体验地址 视频自动播放demo 仿微信朋友圈动态demo

2.4K20

使用Intersection Observer API实现视频队列自动播放

这里有一个很常见的例子,平时喜欢看短视频的朋友可能会注意,我们在浏览某视频头条时,滚动视频列表,当某一个视频滚动到手机的一定位置时(一般可以看成是屏幕中心),该视频会自动播放,当移出指定区域后视频会自动关闭并播放移入指定区域的下一个视频...具体思路就是我们可以把Intersection Observer的根元素的rootMargin(即根元素的外边距)设置为如上图蓝色所示区域,然后当视频完全进入该区域内后(也就是thresholds阈值为...代码如下: // VideoItem.js import React, { useRef, useEffect } from 'react'; import DPlayer from 'dplayer'...data-src={src}> } 此时视频列表页代码如下: // ... function VideoList...> } 以上步骤即完成了基于指定区域自动播放视频的功能,效果如下: ?

1.4K20

Vue 组件化开发

1.1 组件化简介 1.1.1 概述   将实现页面某一部分功能的结构、样式和逻辑封装成为一个整体,使其高内聚,低耦合,达到分治与复用的目的。...在某一篇博客看到另一种想法,分而治之,我比较这一种想法,良好地组件化以后的组件,会表现出高内聚低耦合的特征,这会给我们带来好处;组件之间不会相互影响,能有效减少出现问题时定位和解决问题的时间;组件化程度高的页面...-- 组件代码区域 --> /* 样式代码区域 */ // js 代码区域 ...引用组件的那一方需要使用 import 接收名称 from "模块路径" 将其导入本页面。使用 import { A, B } from "模块路径" 可以按需导入。...中 funB() 方法") }   一般我们使用 Vue 进行开发需要抽取的东西就只有组件和方法了,下面我们就可以将 MyComponent.vue 组件和 Fun.js 引入页面中。

1.7K30

面试简书(五)

针对这种情况,就需要运用懒加载技术:先只加载可视窗口区域的图片,当用户向下拖动滚动条时再继续加载后面的图片(也是只加载目前可视窗口区域内的图片)。...解决思路: 1.删除和添加video标签这一节点,这样做会让video标签恢复1中的状态。 2.删除video标签,浏览器的视频播放组件会立即消失,时间大幅度缩短。...图片懒加载,简单来说就是在页面渲染过程中,图片不会一次性全部加载,会在需要的时候加载,比如当滚动条滚动到某一个位置时触发事件加载图片,通过js将img标签的data-src属性赋值给src属性 方案四:...-- 自定义翻页器--> js: var imgSlide...cover把背景图像扩展至足够大,以使背景图像完全覆盖背景区域。 背景图像的某些部分也许无法显示在背景定位区域中。contain把图像图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域

1.1K10

【投稿】记一次前端面试~James

这次真是被面的体无完肤,深刻认识基础的重要性,大体总结一下经历过的面试题,简单梳理一下。...IE模型下,盒子的宽度为50px,高度为50px,也就是在某一方向的(padding+border)*2小于盒子的width时,最后的宽高依然等于盒子原始的width和height,如果某一方向的(padding...最大的特点为它是一个独立的渲染区域,并且与这个区域外部毫不相干。这个话题可以由盒模型中上下margin重叠的问题引出。...3.水平垂直居中(盒子宽高可以随意更改,也就是盒子宽高不固定的居中方式) 方法1:(通过定位,外层和内层盒子宽高都不固定) div{ position: relative; }...通过js来控制,会把浏览器宽度分割成制定的份数,每份定义为1rem,这样做的好处是能比较精确的控制元素尺寸,但是也有缺点,就是需要提前加载这段适配js,不可避免会导致白屏时间。

49820

“鼠标移入显示悬浮框”特效,也可以“高大上”

一种方法是为每个块定位四个悬浮块(上下左右),当满足鼠标移入的条件时,让相应的悬浮块滑入; 第二种方法是只为每个块定位一个悬浮框,每次鼠标移入时,先“初始化”悬浮块的位置,之后再控制悬浮框滑入。...为了便于理解,可以使用“对角线”将一个块划分为四个区域(如下A、B、C、D四个区域),与“鼠标移入方向”相对应。 ?...↗(左下角右上角) Y值临界值求法: 当前X值对应的Y值临界值1 = 当前元素高度 / 当前元素宽度 * 当前鼠标X值; ↘(左上角右下角) Y值临界值求法: 当前X值对应的Y值临界值2 = 当前元素高度...,执行相应方向的功能代码 在判断移入方向之后,接下来就简单多了,为每个元素定位一个悬浮块,根据初始位置执行相应代码。...

5K90

了解虚拟列表背后原理,轻松实现虚拟列表

,并且根据显示总数动态设置一个装载容器的高度 每个元素设置绝对定位,且是固定高度 有了对应设置的结构,因为我们每个元素是绝对定位的,所以我们现在的思路就是: 1、确定可视区域item显示的条数limit...2、向上滑动的当前位置起始位与最后位置,确定显示元素范围 3、确定每个元素的top,当向上滑动时,确定当前的位置与最后元素的位置索引,根据当前位置与最后元素位置,渲染可视区域 具体逻辑代码如下 我们具体看下index.js // index.js const { createApp, reactive, toRefs, computed, onMounted...总结 了解虚拟列表到底是什么,在大数据渲染中,选择一段可视区域显示对应数据 实现虚拟列表的背后原理,最外层给定一个固定的高度,然后设置纵向Y轴滚动,然后每个元素的父级设置相对定位,设置真实展示数据的高度

3.2K10
领券