var browser={

ie6:function(){return((window.XMLHttpRequest==undefined)&&(ActiveXObject!=undefined))

},

getWindow:function(){var myHeight=0;var myWidth=0;if(typeof(window.innerWidth)==‘number‘){

myHeight=window.innerHeight;

myWidth=window.innerWidth

}else if(document.documentElement){

myHeight=document.documentElement.clientHeight;

myWidth=document.documentElement.clientWidth

}else if(document.body){

myHeight=document.body.clientHeight;

myWidth=document.body.clientWidth

}return{‘height‘:myHeight,‘width‘:myWidth}

},

getScroll:function(){var myHeight=0;var myWidth=0;if(typeof(window.pageYOffset)==‘number‘){

myHeight=window.pageYOffset;

myWidth=window.pageXOffset

}else if(document.documentElement){

myHeight=document.documentElement.scrollTop;

myWidth=document.documentElement.scrollLeft

}else if(document.body){

myHeight=document.body.scrollTop;

myWidth=document.body.scrollLeft

}return{‘height‘:myHeight,‘width‘:myWidth}

},

getDocWidth:function(D){if(!D)var D=document;returnMath.max(Math.max(D.body.scrollWidth,D.documentElement.scrollWidth),Math.max(D.body.offsetWidth,D.documentElement.offsetWidth),Math.max(D.body.clientWidth,D.documentElement.clientWidth))

},

getDocHeight:function(D){if(!D)var D=document;returnMath.max(Math.max(D.body.scrollHeight,D.documentElement.scrollHeight),Math.max(D.body.offsetHeight,D.documentElement.offsetHeight),Math.max(D.body.clientHeight,D.documentElement.clientHeight))

}

};

browser对象内:

ie6:ActiveXObject是ie浏览器的标志,window.XMLHttpRequest是IE7以前的创建XMLHttpRequest对象的方式,双重判定ie6.getWindow: 获取浏览器宽高,window.innerWidth是netscape属性,部分浏览器可以通过此获取到浏览器宽高,document.documentElement是文档的根节点也是火狐等可以获取宽高的途径,document.body是文档的body子节点也是谷歌浏览器等可以获取宽高的途径,三种判定达到主流兼容。

getScroll: 获取浏览器被卷去的宽高,window.pageYOffset是netscape属性,老浏览器可以通过此获取到卷曲的宽高,document.documentElement是文档的根节点也是火狐等可以获取宽高的途径,document.body是文档的body子节点也是谷歌浏览器等可以获取宽高的途径,三种判定达到主流兼容。

getDocWidth: 获取文档宽,通过判定scrollWidth,offsetWidth,clientWidth在documentElement与body两种节点下的最宽最高高度来决定。

getDocHeight: 获取文档高,通过判定scrollWidth,offsetWidth,clientWidth在documentElement与body两种节点下的最宽最高高度来决定。

var dom={

ID:function(id){var type=typeof(id);if(type==‘object‘)returnid;if(type==‘string‘)returndocument.getElementById(id);return null},

insertHtml:function(html){var frag=document.createDocumentFragment();var div=document.createElement("div");

div.innerHTML=html;for(var i=0,ii=div.childNodes.length;i

frag.appendChild(div.childNodes[i])

}

document.body.insertBefore(frag,document.body.firstChild)

}

};

dom对象内:

id:获取对象的id名

insertHtml: 插入html的动作,输入html代码,在body后append要加入的内容

var myEvent={

add:function(element,type,handler){var ele=dom.ID(element);if(!ele)return;if(ele.addEventListener)

ele.addEventListener(type,handler,false);else if(ele.attachEvent)

ele.attachEvent("on"+type,handler);else ele["on"+type]=handler

},

remove:function(element,type,handler){var ele=dom.ID(element);if(!ele)return;if(ele.removeEventListener)

ele.removeEventListener(type,handler,false);else if(ele.detachEvent)

ele.detachEvent("on"+type,handler);else ele["on"+type]=null}

};

myEvent对象:

add:绑定监听事件,addEventListener和attachEvent,前者是W3C的js绑定事件标准,后者是IE浏览器的js绑定事件标准,如果两者都不符合,老浏览器类型的话,用传统绑定方式。

remove:解绑监听事件,removeEventListener和detachEvent,前者是W3C的js解绑事件标准,后者是IE浏览器的js解绑事件标准,如果两者都不符合,老浏览器类型的话,用传统绑定方式。

var position={

rightCenter:function(id){var id=dom.ID(id);var ie6=browser.ie6();var win=browser.getWindow();var ele={‘height‘:id.clientHeight,‘width‘:id.clientWidth

};if(ie6){var scrollBar=browser.getScroll()

}else{var scrollBar={‘height‘:0,‘width‘:0};

id.style.position=‘fixed‘}

ele.top=parseInt((win.height-ele.height)/2+scrollBar.height);

id.style.top=ele.top+‘px‘;

id.style.right=‘3px‘},

floatRightCenter:function(id){

position.rightCenter(id);var fun=function(){

position.rightCenter(id)

};if(browser.ie6()){

myEvent.add(window,‘scroll‘,fun);

myEvent.add(window,‘resize‘,fun)

}else{

myEvent.add(window,‘resize‘,fun)

}

},

leftCenter:function(id){var id=dom.ID(id);var ie6=browser.ie6();var win=browser.getWindow();var ele={‘height‘:id.clientHeight,‘width‘:id.clientWidth

};if(ie6){var scrollBar=browser.getScroll()

}else{var scrollBar={‘height‘:0,‘width‘:0};

id.style.position=‘fixed‘}

ele.top=parseInt((win.height-ele.height)/2+scrollBar.height);

id.style.top=ele.top+‘px‘;

id.style.left=‘3px‘},

floatLeftCenter:function(id){

position.leftCenter(id);var fun=function(){

position.leftCenter(id)

};if(browser.ie6()){

myEvent.add(window,‘scroll‘,fun);

myEvent.add(window,‘resize‘,fun)

}else{

myEvent.add(window,‘resize‘,fun)

}

}

};

position对象:

rightCenter: 右侧飘窗,绑定右侧飘窗的参数,目前写法是飘窗位于浏览器的居中处

floatRightCenter: 窗口滚动或者放缩后触发rightCenter

leftCenter: 左侧飘窗,绑定左侧飘窗的参数,目前写法是飘窗位于浏览器的居中处

floatLeftCenter: 窗口滚动或者放缩后触发leftCenter

functionad_left(){varhtml;

html= ‘

关闭

‘;

dom.insertHtml(html);

position.floatLeftCenter(‘ad_left‘);

}functionad_right(){varhtml;

html= ‘

关闭

‘;

dom.insertHtml(html);

position.floatRightCenter(‘ad_right‘);

}

myEvent.add(window,‘load‘,ad_left);

myEvent.add(window,‘load‘,ad_right);

ad_left: 左侧广告所有内容参数及操作。

ad_right: 右侧广告所有内容参数及操作。

最后是调用ad_left与ad_right方法。

原文:http://www.cnblogs.com/storee/p/3919989.html

java页面左右飘窗_左右飘窗代码研读相关推荐

  1. java动态执行逻辑_动态执行代码逻辑

    动态执行逻辑的方法据我所知有一下两种方式 QLExpress Groovy QLExpress QLExpress是阿里开源的动态脚本执行的项目. 由阿里的电商业务规则.表达式(布尔组合).特殊数学公 ...

  2. 怎么查看java的引用类_一段代码看 Java 引用类型

    Java 中的操作数(不知道叫什么,相对于 bytecode 而言,类似 CPU 的操作码和操作数)分为值类型和引用类型: 值类型就是直接存储最终数值的,如 char, int, float, dou ...

  3. java注释搞笑图案_搞笑的代码注释,那些有趣的程序员

    发表于 2019-04-24 16:11:26 by 月小升 搞笑 /*** * .::::. * .::::::::. * ::::::::::: F*CK YOU * ..:::::::::::' ...

  4. java 编码 正弦计算器_计算器完整代码(java).doc

    计算器完整代码(java) 1. Calculator 类 import java.applet.*; import java.awt.*; import java.awt.event.*; impo ...

  5. java实现防盗链_防盗链代码实现

    [java]代码库package pm_cn.itcast.request; import java.io.IOException; import javax.servlet.ServletExcep ...

  6. java 页面接收参数_详解SpringMVC——接收请求参数和页面传参

    spring接收请求参数: 1,使用HttpServletRequest获取 @RequestMapping("/login.do") public String login(Ht ...

  7. java 页面级缓存_用CashFilter实现页面级缓存实践

    1.MySQL在本地localhost的test数据库 建person表,暂以字段id,name,passWord ,表中可输入一行值. 2.建类 DAOUtil import  java.sql.C ...

  8. 用java制作图片滚动条_写给代码小白:运用JavaScirpt实现大图滚动

    在大家平时浏览网页时,一定经常看到许多首页都会布置一些精美.酷炫的带有滚动效果的图片,使网站更具有吸引力(如图).今天给大家分享一些简单的运用H5和css3的内容配合原生JS来实现大图滚动的方法.(由 ...

  9. java 判断手机访问_下面java代码判断是手机访问还是PC访问什么地方出错了,手机跳转不到制定页面,等待解答...

    最近在做一个项目,要在判断用户是否是通过手机访问网站的,如果是手机访问网站跳到一个登录页面,如果是用户用电脑访问网站跳到另外一个登录页面.我写了以下代码,但是用手机访问网站的时候,跳转不到制定页面,请 ...

  10. 用java的io做一个代码计数器,如何制作Java页面计数器_java

    大庆采油六厂采油工艺研究所 王兵 王波 常常逛WWW的人,一定对许多起始页上的计数器感兴趣.每当你光临某个站点的起始页时,它的计数器就很亲切地告诉你,从某年某月某日开始,你是第几位光临的人.你可能也想 ...

最新文章

  1. Linux(CentOS)目录操作命令、文件操作命令、压缩解压缩命令
  2. 网页编辑html中怎么写搜索代码,如何在html页面中实现查找功能
  3. c1083 “tensorflow/python/framework/c pp_shape_inference.pb.h”
  4. PHP7扩展开发(二):配置项与全局数值
  5. java 消息推送_hanbo-push分布式消息推送、IM服务
  6. 密码机 密钥管理项目安装配置 从零开始
  7. tcp假连接_TCP 的那些事儿(上)
  8. hiho1095(二分)
  9. 德标螺纹规格对照表_德标等螺纹对照表.doc
  10. 个人游戏程序开发总结
  11. 约翰·冯·诺依曼及冯诺伊曼式计算机简介
  12. Windows Terminal + WSL2 + CENTOS 配置Windows命令终端
  13. 在网易有数上做数据加工和数据分析的实践
  14. Apache Avro 入门
  15. [附源码]JAVA+ssm基于Internet快递柜管理系统(程序+Lw)
  16. Android 动态分区详解(六) 动态分区的底层机制
  17. 笔记类app之Leanote同步机制 韩俊强的博客
  18. 算法:Climbing Stairs(爬楼梯) 6种解法
  19. 世界上第一台数字计算机图片大全,第二章 计算机中的图世界
  20. c++入门必学算法 质数筛

热门文章

  1. js手机端上传图片,带压缩图片
  2. 找同学 字典 11.12
  3. 2022熔化焊接与热切割复训题库模拟考试平台操作
  4. 不同方向程序员工资一览!
  5. Java 全国省市接口
  6. python b站弹幕分析_Python获取B站视频弹幕 简单处理
  7. 自己怎么做网站,个人做网站的步骤
  8. JavaScript中this的指向 详解
  9. 力扣算法题用c语言实现,刷题-力扣-25
  10. 关于网卡特性TSO、UFO、GSO、LRO、GRO