03-JS特效-三大系列之scroll系列
来源:互联网 发布:批量注册淘宝号 编辑:程序博客网 时间:2024/06/08 17:13
三大系列
offset-位移
scroll-卷页(本文)
client-可视区
onscroll 滚动事件
(window.onscroll = fun…)
屏幕每滚动一次,哪怕只有1像素都会触发这个事件。这样就可以用来检测屏幕滚动了.只能有一个,写了多个以最后一个为准,同理 window.onload
onscroll常用属性(4个)
1、scrollWidth/scrollHeight 内容的宽高
IE67可以比盒子小。 IE8+火狐谷歌不能比盒子小
2、scrollLeft/scrollTop 被卷去的左侧和头部(浏览器无法显示的左/头部)
一般调用document.body.scrollTop:
1、scrollWidth和scrollHeight: 检测盒子的宽高。
scrollHeight = height + padding; //不包括border和margin;
2、scrollLeft/scrollTop
兼容问题:
- 未声明 DTD(谷歌只认识他)(火狐IE9+认识他) document.body.scrollTop/scrollLeft - 已经声明DTD(IE678只认识他)(火狐IE9+认识他) document.documentElement.scrollTop/scrollLeft - 火狐/谷歌/ie9+以上支持的(不管DTD) window.pageYOffest/pageXOffest
兼容写法,不管有没有DTD:
//1.推荐这种 var scrollTop = window.pageYOffset ||document.documentElement.scrollTop || document.body.scrollTop; //2.取巧:(两个值一个取到值,另一个为0,所以无论任何浏览器,都可以使用+) var scrollTop = document.body.scrollTop + document.documentElement.scrollTop;
封装scroll方法:
//1.最初版本,封装scroll function scroll() { //返回一个json;一次调用,两个值都可以获取 var json = { "top": window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop, "left": window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft }; return json;}//怎么用?var aaa = scroll();console.log(aaa.top);console.log(aaa.left);//2.改进:(简洁版)function scroll() { return { "top": window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop, "left": window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft };}//3.jQuery用的这种封装(随便写写)function scrollTop() { var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop; return scrollTop;}function scrollLeft() { var scrollLeft = window.pageXOffset || document.documentElement || document.body.scrollLeft; return scrollLeft;}
关于DTD一点小知识:
dtd约束:(简说)
;没有个这个标签就代表着有没有dtd约束
判断页面有没有dtd:
alert(document.compatMode);
BackCompat 未声明
CSS1Compat 已经声明
案例:
03.1-固定导航栏
0 0
- 03-JS特效-三大系列之scroll系列
- 01-JS特效-三大系列之offset系列
- 08-JS特效-三大系列之client系列
- 01-JS特效-三大系列之offset系列
- JavaScript 特效三大系列总结
- 工作流产品三大系列
- android特效集锦系列之三 仿微信摇一摇
- js之网页开发scroll
- JavaScript 特效之四大家族(offset/scroll/client/event)
- JS特效之倒计时
- Redis数据类型之散列类型--Redis系列三
- js scroll
- js 三大家族(offset/scroll/client)
- js 三大家族(offset/scroll/client)
- 走进WPF系列学习之三 如何应用WPF控制图形透明度与混色特效
- 【极客学院出品】Cocos2d-X系列课程之五-三大特效使用
- RecyclerView系列之三:使用ItemTouchHelper实现RecyclerView的条目交互特效
- JS特效之打字机效果
- 一起talk C栗子吧(第一百九十五回:C语言实例--DIY less命令四 )
- 如何启动另一个Activity
- 从零开始学习Android开发-创建第一个App
- 第七届蓝桥杯 方格填数
- OnDraw()和OnPaint()有什么区别?
- 03-JS特效-三大系列之scroll系列
- 海航生态科技舆情大数据平台容器化改造
- Android音频的播放
- Node.js后台数据处理相关方法
- 虚拟机无法联网(Ubuntu 14.04)
- SAP BI
- 小骆驼
- 三个月准备研究生数学建模得二等国奖
- 第十五周项目3—B-树的基本操作