js scroll动画

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

js scroll动画第2张

5、scroll 兼容性
DTD,只有旧版本的浏览器遵循一些新的规则 (html4 有dtd)
js scroll动画第3张
<script >
    window.onscroll=function() {
        //没有约束的 dtd 兼容  
谷歌只认(document.body 有没有dtd都可以) IE9+
        document.title=document.body.scrollTop; (认为body在动)

        //有约束的 dtd 兼容 
 IE6、78 只认(document.documentElement有没有dtd都可以)
 IE9+任何时候
         document.title = document.documentElement.scrollTop;(文档在动)

        //不管有没有 dtd  兼容 火狐 、 谷歌 、IE9+以上的 不兼容IE678
        document.title=window.pageYOffset   (窗口的纵坐标在动)
    }
</script>

兼容性写法

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

js scroll动画第4张

 (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动画》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何解决 Matlab 画图时中文显示乱码的问题?在ubuntu上搭建交叉编译环境---arm-none-eabi-gcc下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

js中访问SqlServer数据库

1 <script language="JavaScript"> 2 //创建数据库对象 3 var objdbConn = new ActiveXObject("ADODB.Connection"); 4 //DSN字符串 5 var strdsn = "Driver={SQL Server};...

esayUI实践的一些体会

1.如何在页面中使用 easy ui ? 引入 四个文件 <!-- 引入easy ui --> <link rel="stylesheet" type="text/css" href="http://t.zoukankan.com/${pageContext.request.contextPath}/js/easyui/themes/de...

js设置当前窗口为最上层窗口

实际使用iframe框架时会遇到当前窗口页面不能位于最上层窗口的情况,或者是防止自己的网站被别人放在他们的iframe中,这时就需要设置:   <script language="javascript" type="text/javascript"> if (window.top != null && windo...

js与Nodejs的单线程和异步--初探

Event Loop Event Loop : 浏览器使用 Event Loop 来协调 DOM 事件、UI 渲染、脚本执行和网络事件等。 Task Queue (Event Queue) :每当 DOM 事件、计时器事件或者网络事件被触发时,它们的回调函数和 Context 都会被压入 Event Queue,而 Event Loop 则会从中取出...

Node JS与Electron安装配置

安装NodeJS 1.下载NodeJS 2.安装NodeJS 安装过程如下,忽略的过程中直接点击下一步即可。 3.配置NodeJS 1.验证NodeJS安装 打开cmd直接输入 node -v npm -v 2.配置路径 这里视具体情况而定,我将会把NodeJS安装的第三方模块以及缓存位置更改在NodeJS根目录。打开cmd,输入 npm...

JavaScript中创建自定义对象

JavaScript高级培训-自定义对象 一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类、Hashtable类等等。 目前在Javascript中,已经存在一些标准的类,例如Date、Array、RegExp、String、Math、Number等等,这为...