知识点
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. Kirinriki 2017多校

    由于每个串的长度为5000,我们去枚举两个自串的对称点(这里注意一下,枚举的时候有两种情况的区间),然后用尺取法爬一遍. ac代码: #include<iostream> #include ...

  2. Java浅拷贝与深拷贝(思维导图)

    图1 拷贝思维导图(点击查看图片) 1,拷贝 有两个相同属性的对象A和B,A拥有初始化值,将其值拷贝到B中,使得B拥有与A“相同”数据的属性!注意这里的相同我有加双引号! 相同可能表示这么几个意思:① ...

  3. nginx触屏版跟PC的代理设置

    server { listen ; set $mobile_rewrite do_not_perform; if ( $http_user_agent ~* "(android|bb\d+| ...

  4. java实现判定新旧版本号

    废话不多说,直接上代码 /** * 判断是否为最新版本方法 将版本号根据.切分为int数组 比较 * * @param localVersion 本地版本号 * @param onlineVersio ...

  5. php压缩图片

    <?php header('content-type:text/html;charset=utf8'); set_time_limit(0); $imgs=scandir('./Public/u ...

  6. JavaSpring【一、概述】

    主要内容 JavaSpring[一.概述] JavaSpring[二.IOC] JavaSpring[三.Bean] JavaSpring[四.Bean管理注解实现] JavaSpring[五.AOP ...

  7. pip install win32api报错解决方法

    在安装pywinauto模块,导入模块后,提示缺少:win32api 但是在使用pip install安装win32api后,居然报错 错误信息如下: Could not find a version ...

  8. sklearn--模型的评价

    sklearn.metrics 1.MSE(均方误差)和RMSE(均方根误差),以及score() lr.score(test_x,test_y)#越接近1越好,负的很差 from sklearn.m ...

  9. Linux基础使用

    Linux中,日志所在的位置: /var/log/messages     系统默认的日志 /var/log/secure         记录用户的登录信息 查看日志的方法有很多 :head     ...

  10. jemeter正则

    关联 jmeter关联用正则表达式           引用名称:随便取 正则表达式: 模板:$1$(这是固定的) 匹配数字:1 缺省值:默认不成功传的值       正则表达式在相应数据里面找 把变 ...