scrolltop

clientHeight offsetHeight scrollHeight offsetTop scrollTop的区别

喜夏-厌秋 提交于 2019-12-04 06:09:40
在HTML中,每个元素都具有clientHeight offsetHeight scrollHeight offsetTop scrollTop属性。 clientHeight和offsetHeight表示元素的高度。 clientHeight :包含了padding但是不含border,水平滚动条,margin的高度。对于没有定义CSS或者是内联(inline)布局盒子的元素,clientHeit为0。clientHeight通过CSSHeight + CSSpadding - 水平滚动条的高度。 offsetHeight :包含了border、padding、水平滚动条,但是不包含margin的元素高度。对于inline的元素,该属性值为0. scrollHeight :当元素的子元素高度比它高并且overflow设置为scroll时,那么该元素就存在scrollHeight,包含了当前不可见部分的高度。 offsetTop :当前元素顶部距离父元素顶部的距离,与有没有滚动条无任何联系。 scrollTop :在有滚动条的情况下,滚动条向下滚动的距离等于元素顶部被遮住部分的高度,不存在滚动条,scrollTop等于0. 来源: CSDN 作者: 潇湘一夜雨 链接: https://blog.csdn.net/xuelian3015/article/details

jQ 操作滚动条滚动到指定位置

孤人 提交于 2019-12-04 06:01:43
jQ: scrollTop () 方法设置或返回被选元素的垂直滚动条位置, $( selector ).scrollTop( position ) position:规定以像素为单位的垂直滚动条位置。 if(item.id == changeInfo.value) { let id = treeData[i].id, childrenLen = $('#' + id).next().find('.tree-second-node').length, h = childrenLen * 28, scrollH = ($('#' + item.id).parent().offset().top - this.height); $('#' + id).next().animate({'height':h + 'px'}); setTimeout(() => { $('.defined-parts').animate({scrollTop: scrollH}); $('#' + item.id).parent().addClass('active'); },500)} 来源: https://www.cnblogs.com/yuNotes/p/11834447.html

NSScrollView scrollToTop

只谈情不闲聊 提交于 2019-12-04 05:54:22
Does anyone know the correct way to scroll the NSScrollView to the top? I was looking for an equivalent to the UIView's scrollToTop method. This is what I have so far, but its not quite right under all situations [self.contentView scrollToPoint:NSMakePoint(0, MAX(contentView.frameHeight, ((NSView*)self.documentView).frameHeight))]; Updated for Swift 5 : If your document view is flipped: scrollView.documentView?.scroll(.zero) otherwise: if let documentView = scrollView.documentView { documentView.scroll(NSPoint(x: 0, y: documentView.bounds.size.height)) } Finally figured it out. Works like a

vue中监听页面滚动和监听某元素滚动

我与影子孤独终老i 提交于 2019-12-04 02:15:05
①监听页面滚动 在生命周期mounted中进行监听滚动: mounted () { window.addEventListener( 'scroll', this .scrollToTop) }, 在方法中定义监听滚动执行的方法: scrollToTop() {   var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;   console.log(scrollTop) }, ②监听某元素滚动 tips:需要监听的这个元素需要拥有固定的高度 vue组件中: <div class="read-con" @scroll="scrollEvent" > </div> 在方法中定义scrolldiv,是监听class为read-con滚动以后需要执行的方法 scrollEvent () { let _this = this let read = _this.$el.querySelector('#read') console.log(read.scrollToTop) }, 来源: CSDN 作者: 风雨飘飘飘啊飘 链接: https://blog.csdn.net/Sing_a_song_again/article/details

vue 上拉刷新组件

孤街浪徒 提交于 2019-12-04 01:25:54
  背景,项目中经常会出现需要上拉加载更多或者下拉刷新的需求,一直以来呢都是借用各种UI库来实现,但是不知道啥情况,最近在使用的时候,一直有问题,出不了效果,然人很恼火,于是只能自己动手来实现以下,   这次做得呢也很简单,只做了上拉加载更多,思路其实很简单,搞一个组件,然后弄个插槽暴露出去放列表,然后在这个组件上监听touchstart,move,end等事件   我们一般只需要已经滑到最底部了,在上滑才需要判断是否加载更多   所以我们需要弄清楚几个条件   1,是否滑动到最底部了,如果是的话,那么在监听到上滑,就计算滑动的距离,如果距离达到了阈值,那么就加载更多     在处理加载的过程中,一般会给一些文字提示,比如,login中,已经没有更多了,...   2,如果没有滑动到最底部,那么就是普通的页面滑动,我们不做处理   大体上就是这些,大部分其他的库会有一些动画效果,我这里没加,具体代码如下:    1 <template> 2 <div class="pull-wrap" @touchstart="start" @touchmove="move" @touchend="end"> 3 <!--上拉加载组件--> 4 <slot ref="pull" class="pull-content"></slot> 5 <p v-if="isMoving" style=

js 捕捉滚动条事件

我怕爱的太早我们不能终老 提交于 2019-12-03 23:39:27
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <meta charset="utf-8" /> <script src="Content/jquery-1.10.2.min.js"></script> </head> <body> <div id="content"> <div id="divLeft" style="float:left;width:200px;height:300px;"> <div style="position:fixed"> <a href="#p1">这里是1</a><br /> <a href="#p2">这里是2</a><br /> <a href="#p3">这里是3</a><br /> <a href="#p4">这里是4</a><br /> <a href="#p5">这里是5</a><br /> <a href="#p6">这里是6</a><br /> <a href="#p7">这里是7</a><br /> <a href="#p8">这里是8</a><br /> <a href="#p9">这里是9</a><br /> <a href="#p10"

鼠标特效

你。 提交于 2019-12-03 23:08:44
方法一,代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>鼠标跟随效果</title> <style> body { margin: 0; padding: 0 } #to_top { width: 30px; height: 40px; padding: 20px; font: 14px/20px arial; text-align: center; background: #06c; position: absolute; cursor: pointer; color: #fff } </style> <script> window.onload = function() { var oTop = document.getElementById("to_top"); document.onmousemove = function(event) { var oEvent = event || window.event; var scrollleft = document.documentElement.scrollLeft || document.body.scrollLeft; var scrolltop = document.documentElement.scrollTop ||

vue中的回到顶部

孤人 提交于 2019-12-03 20:13:30
<template> <div class="main"> <div class="content">灰色部分是内容部分</div> <div class="red">红色部分是内容部分</div> <div class="scollTop" id="imgscoll" v-show="isShowimg === true"> <img src="@/assets/dingbu@3x.png" alt @click="goTop"> </div> </div> </template> <script> export default { data(){ return{ isShowimg: false, } }, mounted(){ window.addEventListener('scroll', this.handleScroll) }, destroyed() { document.removeEventListener('scroll', this.handleScroll) document.body.scrollTop = document.documentElement.scrollTop = 0 }, methods:{ goTop() { // 回到顶部 document.body.scrollTop = document.documentElement

Angular 5 Scroll to top on every Route click

喜欢而已 提交于 2019-12-03 18:20:33
问题 I am using angular 5. I have a dashboard where I have few sections with small content and few sections with so large content that I am facing a problem when changing router while going to top. Every time I need to scroll to go to top. Can anyone help me to solve this issue so that when I change the router my view always stay at the top. Thanks in advance. 回答1: A router outlet will emit an activate event any time a new component is being instantiated, so (activate) event could be to scroll

js的防抖和节流

大憨熊 提交于 2019-12-03 17:32:21
防抖和节流严格算起来应该属于性能优化的知识,但实际上遇到的频率相当高,处理不当或者放任不管就容易引起浏览器卡死。所以还是很有必要早点掌握的。 节流概念(Throttle) 按照设定的时间固定执行一次函数,比如200ms一次。注意:固定就是你在mousemove过程中,执行这个节流函数,它一定是200ms(你设定的定时器延迟时间)内执行一次。没到200ms,一定会返回,没有执行回调函数的。 主要应用场景有:scroll、touchmove 防抖概念(Debounce) 抖动停止后的时间超过设定的时间时执行一次函数。注意:这里的抖动停止表示你停止了触发这个函数,从这个时间点开始计算,当间隔时间等于你设定时间,才会执行里面的回调函数。如果你一直在触发这个函数并且两次触发间隔小于设定时间,则一定不会到回调函数那一步。 主要应用场景有:input验证、搜索联想、resize 节流实现 思路: 第一次先设定一个变量true,第二次执行这个函数时,会判断变量是否true,是则返回。当第一次的定时器执行完函数最后会设定变量为flase。那么下次判断变量时则为flase,函数会依次运行 从滚动条监听的例子说起 先说一个常见的功能,很多网站会提供这么一个按钮:用于返回顶部。 这个按钮只会在滚动到距离顶部一定位置之后才出现,那么我们现在抽象出这个功能需求-- 监听浏览器滚动事件,返回当前滚条与顶部的距离