知识点
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. HTTP协议探究(三):HTTPS

    一 复习与目标 1 复习 代理:转发通信数据(一般协议不变,作为中间人,可对报文进行过滤修改) 网关:转发通信数据(协议改变,作为资源拥有者) 隧道:转发通信数据(协议不变,作为管道,不对报文进行过滤 ...

  2. 使用Enablebuffering多次读取Asp Net Core 3.0 请求体 读取Request.Body流

    原文:使用Enablebuffering多次读取Asp Net Core 请求体 使用Enablebuffering多次读取Asp Net Core 请求体 1 .Net Core 2.X时代 使用E ...

  3. java关键知识汇总

    1.泛型理解 2.java或Java框架中常用的注解及其作用详解 3.三层架构和MVC的区别 4.jdk1.8手册(提取码:bidm) 5.Rocketmq原理&最佳实践 6.spring入门 ...

  4. 手机号码归属地查询API

    <?php function object_array($array){ if(is_object($array)){ $array = (array)$array; } if(is_array ...

  5. 题解 P3369 【【模板】普通平衡树(Treap/SBT)】

    STL真是个好东西. 最近在看pb_ds库及vector和set的用法,就想用这三种操作来实现一下普通平衡树,结果pb_ds中的rbtree不支持重复值,而本蒟蒻也看不懂不懂各大佬用pb_ds的实现, ...

  6. 【php设计模式】适配器模式

    适配器模式(对象适配器.类适配器): 将一个类的接口转换成客户希望的另一个接口.适配器模式让那些接口不兼容的类可以一起工作. 在适配器模式定义中所提及的接口是指广义的接口,它可以表示一个方法或者方法的 ...

  7. ant-design的Table组件自定义空状态

    Table,是antd中一个我们经常使用的组件,在官方文档中给出了非常详细的实例以及API, 但在我们在使用过程中可能需要根据项目的要求来定制空状态时的展示. 什么是空状态呢? 在antd的官方文档中 ...

  8. WebLogic 12c Linux 命令行 静默安装

    CentOS 6.3安装配置Weblogic 10  http://www.linuxidc.com/Linux/2014-02/96918.htm Oracle WebLogic 11g 安装部署文 ...

  9. STM32——CAN协议帧的标准格式和扩展格式与优先级的关系

    一.CAN数据帧的标准格式和扩展格式 我们知道CAN总线上的数据帧都可以配置一个ID号,其可以为11位(标准ID格式)或者29位(扩展ID格式),这也是数据帧的标准格式和扩展格式的区别所在. 这个ID ...

  10. textbox 输入值提示。。。(类似百度搜索)

    public void textBox5_xiala() { DataSet ds = SQl_yuji.ds_cinvname(); this.textBox5.AutoCompleteMode = ...