知识点
1、window.scrollTo (x,y):可以把内容滚动到指定位置
 scroll
 scroll:卷动意思(书卷)  从上到下移动
 
1、window.onscroll 窗口滚动事件(必须有滚动条才可以触发)
  body{height: 5000px;}
window.onscroll=function () {
console.log()
}
2、scrollWidth 获取盒子的高
     scrollWidth =盒子宽+内边距(不包括外边距 , 边框)
var div=document.getElementsByTagName("div")[];
console.log(div.scrollWidth);
3、scrollHeight 高度 (很少用)
      scrollHeight  =盒子高+内边距(不包括外边距 , 边框)
      如果内容没有溢出盒子,高度就是盒子本身+内边距
      如果溢出,高度就是超出内容的总高度
      ie7(包括ie7)高度就是内容的高度
 
4、scrollTop 窗口滚动的时候,页面被浏览器遮挡的高度 (调用者文档页面)
      scrollLeft  窗口滚动的时候,页面被浏览器遮挡的宽度
  <script>
window.onscroll=function () {
// console.log(document.body.scrollTo)
document.title=document.body.scrollTop;
document.title=document.body.scrollLeft;
}
</script>

5、scroll 兼容性
DTD,只有旧版本的浏览器遵循一些新的规则 (html4 有dtd)

<script >
window.onscroll=function() {
//没有约束的 dtd 兼容
谷歌只认(document.body 有没有dtd都可以) IE9+
document.title=document.body.scrollTop; (认为body在动) //有约束的 dtd 兼容
IE6、、 只认(document.documentElement有没有dtd都可以)
IE9+任何时候
document.title = document.documentElement.scrollTop;(文档在动) //不管有没有 dtd 兼容 火狐 、 谷歌 、IE9+以上的 不兼容IE6\7\8
document.title=window.pageYOffset (窗口的纵坐标在动)
}
</script>

兼容性写法

document.title=document.documentElement.scrollTop || document.body.scrollTop
最常用的兼容写法
//最常用的兼容写法
document.title= window.pageYOffset ||
document.documentElement.scrollTop ||
document.body.scrollTop;

 (1)CSS1Compat 已经声明
    (2)BackCmpat 为声明
<script>
alert(document.compatMode)
</script>

7、自己分装一个,scroll兼容性写法

<script>
window.onscroll=function () {
document.title=scroll().top+"^^^^"+scroll().left
}; //需求封装一个兼容 scroll的
//分装当然用函数了
function scroll(){
//如果这个window.pageYOffset 存在那么返回值是0-无穷大
//如果没有这个值,返回值是undefined
//只要判断不是undefined就可以调用次方法
if(window.pageYOffset !== undefined){
var josn={
"top":window.pageYOffset,
"left":window.pageXOffset
};
return josn
}else if(document.compatMode==="CSS1Compat"){
//返回一个json数组
return {
"top": document.documentElement.scrollTop,
"left": document.documentElement.scrollLeft
}
}else {
return {
"top": document.body.scrollTop,
"left": document.body.scrollLeft
}
}
}
</script>
 
 

js scroll动画的更多相关文章

  1. JS——scroll动画

    固定导航栏 1.计算导航栏到顶部的距离值 2.当scrollTop值大于这个距离值就添加定位,当小于距离值后解除定位 注意事项:当导航栏添加定位之后,导航栏就脱离了文档流,也就是不占位了,下面的盒子就 ...

  2. 用js实现动画效果核心方式

    为了做好导航菜单,有时候需要在菜单下拉的时候实现动画效果,所以这几天就研究了研究如何用js实现动画效果,实现动画核心要用到两个函数,一个是setTimeOut,另一个是setInterval. 下边我 ...

  3. js双层动画幻灯

    js双层动画幻灯 点击下载

  4. js运动动画

    原文:js运动动画 今天简单的学了一下js运动动画,再此感谢慕课网的这位老师http://www.imooc.com/view/167,讲的很不错. 下面是我整理出来的结果. 知识点一:速度动画. 1 ...

  5. 好用的jquery.animateNumber.js数字动画插件

    在做公司的运营报告页面时,有一个数字累计增加的动画效果,一开始,毫无头绪,不知如何下手,于是上网查资料,发现大多都是用的插件来实现的,那么今天,我也来用插件jquery.animateNumber.j ...

  6. JS封装动画框架,网易轮播图,旋转轮播图

    JS封装动画框架,网易轮播图,旋转轮播图 1. JS封装运动框架 // 多个属性运动框架 添加回调函数 function animate(obj,json,fn) { clearInterval(ob ...

  7. css3动画和JS+DOM动画和JS+canvas动画比较

    css3兼容:IE10+.FF.oprea(animation):safari.chrome(-webkit-animation) js+dom:没有兼容问题: js+canvas:IE9+:(性能最 ...

  8. 使用WebGL + Three.js制作动画场景

    使用WebGL + Three.js制作动画场景 3D图像,技术,打造产品,还有互联网:这些只是我爱好的一小部分. 现在,感谢WebGL的出现-一个新的JavaScriptAPI,它可以在不依赖任何插 ...

  9. JS实现动画的四条优化方法

    JS实现动画的四条优化方法 1)如果使用的是setTimeout实现的轮询动画,在每一次执行方法之前需要把前面的设置的定时器清除掉 2)为了防止全局变量的污染,我们把定时器的返回值赋值给当前操作元素的 ...

随机推荐

  1. ReLeQ:一种自动强化学习的神经网络深度量化方法

    ReLeQ:一种自动强化学习的神经网络深度量化方法     ReLeQ:一种自动强化学习的神经网络深度量化方法ReLeQ: An Automatic Reinforcement Learning Ap ...

  2. Pytorch中的自编码(autoencoder)

    Pytorch中的自编码(autoencoder) 本文资料来源:https://www.bilibili.com/video/av15997678/?p=25 什么是自编码 先压缩原数据.提取出最有 ...

  3. css的一些基础方法

    1.css样式表分别有: 内联样式表 <!DOCTYPE html> <html lang="en"> <head> <meta char ...

  4. 微信小程序手动实现select下拉框选择

    在小程序中没有像h5中的下拉 标签的 picker又满足部了,那就自己动手写 <view class='list-msg'> <view class='list-msg1'> ...

  5. # 机器学习算法总结-第一天(KNN、决策树)

    KNN算法总结 KNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别.(监督) k近邻算法(knn)是一种基本的分类与回归的算法,k-mea ...

  6. 2018 年 IoT 那些事儿

    本文作者:murphyzhang.xmy.fen @腾讯安全云鼎实验室   2018年,是 IoT 高速发展的一年,从空调到电灯,从打印机到智能电视,从路由器到监控摄像头统统都开始上网.随着5G网络的 ...

  7. flutter问题集锦

    现在的多平台开发很多啦,目前主流的救赎react native 和weex了,其他的旧的就不说了,新出来的gomobile目前基本无人使用,底层的很多原生对接还没有完善,flutter发布了第一版正式 ...

  8. 【Day3】4.Xpath语法与案例

    课程目标 1.谷歌浏览器配置Xpath 2.Xpath常用语法 3.Xpath常用案例 1.谷歌浏览器配置Xpath Xpath下载:http://chromecj.com/web-developme ...

  9. Flask debug 模式 PIN 码生成机制安全性研究笔记

    Flask debug 模式 PIN 码生成机制安全性研究笔记 0x00 前言 前几天我整理了一个笔记:Flask开启debug模式等于给黑客留了后门,就Flask在生产网络中开启debug模式可能产 ...

  10. 学习Shell编程

    目录 1 什么是Shell 2 Linux的启动过程 3 怎样编写一个Shell脚本 4 Shell脚本的执行方式 5 内建命令和外部命令的区别 6 管道和重定向 7 变量赋值 8 环境变量配置文件 ...