添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
< a href = " #div2 " > div2 </ a > < a href = " #div3 " > div3 </ a > < div id = " div1 " style =" heigth : 200px " > 这里是div1 </ div > < div id = " div2 " style =" heigth : 200px " > 这里是div2 </ div > < div id = " div3 " style =" heigth : 200px " > 这里是div3 </ div > </ div >

2、使用Window.scrollTo()
用法
window.scrollTo(x-coord,y-coord )
window.scrollTo(options)
参数说明
x-coord 是文档中的横轴坐标。
y-coord 是文档中的纵轴坐标。
options 是一个包含三个属性的对象:
top 等同于 y-coord
left 等同于 x-coord
behavior 类型String,表示滚动行为,参数 smooth(平滑滚动),instant(瞬间滚动),默认值auto

代码(proxy.$nextTick 是vue3中的写法)

< p onClick = " onScroll() " > div1 </ p > < p onClick = " onScroll() " > div2 </ p > < p onClick = " onScroll() " > div3 </ p > < div id = " div1 " style =" heigth : 200px " > 这里是div1 </ div > < div id = " div2 " style =" heigth : 200px " > 这里是div2 </ div > < div id = " div3 " style =" heigth : 200px " > 这里是div3 </ div > </ div > < script > var onScroll = function ( ) { var el = document . getElementById ( `label ${ num } ` ) if ( ! el ) { return window . scrollTo ( { 'behavior' : 'smooth' , 'top' : el . offsetTop } ) </ script >

在vue中也一样,只需要注意一下DOM加载完成后,有钩子this.$nextTick。

<!--点击标签-->
<p v-for="(word,index) in wordsArr"
   :key="index"
    @click="selectQuestion(word.value)">{{word.label}}
 <!--锚点的div-->
<div v-for="(word,index) in wordsArr"
   :key="index"
   :id="'label'+word.id"
    @click="selectQuestion(word.value)">{{word.label}}
 </div>
<script>        
 const selectQuestion = (id) => {
      var el = document.getElementById(`label${id}`)
      if (!el) {
        return
      this.$nextTick(function () {
        window.scrollTo({ 'behavior': 'smooth', 'top': offsetTop })
</script>
                    1、使用a标签跳转到锚点。&lt;div&gt;   &lt;a href="#div1"&gt;div1&lt;/a&gt;   &lt;a href="#div2"&gt;div2&lt;/a&gt;   &lt;a href="#div3"&gt;div3&lt;/a&gt;   &lt;div id="div1" style="heigth:200px"&gt;这里是div1&lt;/div&gt;   &lt;div id="div2" style="heigth:200px"&gt;
[data-scroll-to-this] 将此属性添加到将滚动到的元素
[data-scroll-to-this="onload"] 页面加载时滚动到该元素
[data-scroll-to-this="onclick"] 当属性设置为 [data-scroll-to-this-target] 的元素点击滚动到这个元素
[data-scroll-to-this="onhash"] 当属性 [data-scroll-to-this-hash] 中设置的哈希值是 [removed].hash 时滚动到此元素
[data-scroll-to-offset] 以像素为单位设置滚动的偏移量
在页面加载时
 <div data-scroll-to-this="onload" data-scroll-to
				
原文:http://www.jb51.net/article/96574.htm 这篇文章主要介绍了JS控制div跳转到指定的位置的几种解决方案总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。 总结一下自己在写这个需求遇到的问题,相信大家应该是经常遇到的。即要求滚轮滚动指定的位置。先看下基本的解决方案。 1.给链接a加个#的方式来实现跳转。(锚点方法)这里直接贴下代码: 1.4 KB的原始JavaScript。 没有依赖关系。 Zenscroll是一个普通JavaScript库,可通过动画垂直滚动到文档中或可滚动元素DIV等)中的元素或位置。 它还可以自动平滑同一页面中的所有滚动。 平滑的动画垂直滚动。 自动平滑滚动同一页面内的链接,包括后退和前进导航(Chrome,Firefox,Opera,Safari技术预览)。 滚动到特定元素的顶部。 将元素滚动到视图中,并确保顶部和底部均可见(如果可能)。 滚动到一个元素,然后将其放在屏幕中央。 指定元素和屏幕边缘之间的间距(例如,用于固定的导航栏和页脚)。 自定义单个滚动操作的持续时间。 滚动完成后的回调。 如果启用了新浏览器的内置平滑行为,则可以使用它。 最小化和压
有时候可能为了简便或者其他原因,我们用某个div放了一长串内容,想要保证内容可以滚动,但是也会有其他情况,比如需要从别的界面进入该div的时候到指定位置,那么可以采用以下方式: <div id="test_div"> 内容内容内容 </div> var test_div = document.getElementById("test_div"); test_div.scrollLeft = screen.width; //screen.width就是要移动的像素 //d1是外层div,带滚动条 <div id='d1' style='height:200px;width:100px;overflow:auto;background:blue;'> <div style='height:500px;width:500px;background:yellow'>2222</div> </div> </body> <script> document
对于网页编程开发人员来说,在网站页面开发的过程中,有时候我们需要实现点击一个按钮或者超链接时,立刻滚动跳转定位到本页面指定的位置。对于大多数的编程老手来说,这些都不是什么难事,但对于一些新手或者没有深入学习编程开发的人来说,可能不知道如何去实现,在这里就和大家分享一下html js点击按钮滚动跳转定位到页面指定位置(DIV)的方法代码。 这里主要分为两种情况,分别是点击锚点实现跳转和点击button按钮实现跳转页面,下面就分别探讨一下两种方式的具体实现代码。 一:通过html锚点实现滚动定位到页面指定
jQuery引用方法 <script src="//cdn.jsdelivr.net/npm/jquery.scrollto@2.1.2/jquery.scrollTo.min.js"></script> <div id="test"> </div> <script> function scrollTo () { $(window).scrollTo($("#test"),500);
获取页面某一元素的绝对X,Y坐标 varX = $('#ElementID').offset().top; varY = $('#ElementID').offset().left; 获取相对(父元素)位置: varX = $('#ElementID').position().top; varY = $('#ElementID').position().left;
Vue可以通过`window.scrollTo`方法来滚动页面指定位置,并且可以通过CSS的`transition`属性来实现滚动效果。 首先,在事件触发时调用`window.scrollTo`方法,传入需要滚动到的位置。例如: ```javascript scrollToPosition() { window.scrollTo({ top: 500, // 需要滚动到的位置 behavior: 'smooth' // 滚动效果,设置为'smooth'表示有滚动效果 接着,在模板中绑定一个按钮或者其他触发事件,调用`scrollToPosition`方法: ```html <template> <button @click="scrollToPosition">滚动指定位置</button> </div> </template> 这样,当按钮被点击时,页面会平滑地滚动指定位置500。 为了实现滚动效果,还需要为滚动元素添加CSS样式。在需要滚动元素的样式中,添加`transition`属性来控制滚动效果的持续时间和缓冲函数。例如: ```css .scrollable-element { transition: top 0.5s ease-in-out; // 控制滚动效果的持续时间和缓冲函数 然后,在滚动指定位置的方法中,使用Vue的`ref`属性来获取需要滚动元素,并通过改变其`scrollTop`来触发滚动效果,例如: ```javascript scrollToPosition() { const element = this.$refs.scrollableElement; element.scrollTo({ top: 500, behavior: 'smooth' 最后,在模板中使用`ref`属性为需要滚动元素指定一个引用名称: ```html <template> <div ref="scrollableElement" class="scrollable-element">需要滚动的内容</div> <button @click="scrollToPosition">滚动指定位置</button> </div> </template> 这样,当按钮被点击时,`scrollable-element`元素会平滑地滚动指定位置500,并且具有滚动效果