JavaScript实现上下浮动的窗口效果代码


Posted in Javascript onOctober 12, 2015

本文实例讲述了JavaScript实现上下浮动的窗口效果代码。分享给大家供大家参考。具体如下:

这里介绍使用JavaScript实现上下浮动的窗口,在垂直方向上漂浮,代码内的JS函数有超丰富的浮动层定义功能,像浮动层位置高度、初始化事件触发器、设定浮动层为可见,用style.left设定浮动层左边距、浮动层的运动速度等,还有更多的设置选项都能实现。

运行效果截图如下:

JavaScript实现上下浮动的窗口效果代码

在线演示地址如下:

具体代码如下:

<HTML>
<HEAD>
<TITLE>上下浮动的窗口</TITLE>
<style type="text/css">
<!--
a:hover{color:00ff00}
a {color:000000;text-decoration:none}
-->
</style>
</HEAD>
<BODY>
<div id="floatpoint" STYLE="position:absolute;visibility:visible;">
<!--两个DIV之间放上你需要显示的内容-->
<table border=1 cellspacing="0" cellpadding="0" bordercolorlight="#000000" bordercolor="#FFFFFF">
 <tr>
    <td align=center bgcolor=#E3E3E3 style="color:HIGHLIGHTTEXT">
  <font color="#000000">
    最新消息!</font>
    </td>
 </tr>
 <tr>
    <td bgcolor=WINDOW style="font-size:9pt;color:WINDOWTEXT">
    <a href="#" target="_blank">三水点靠木</a><br>
    <div></div>
    </td>
 </tr>
</table>
<!--两个DIV之间放上你需要显示的内容-->
</div>
<script LANGUAGE="JavaScript1.2">
//这部分为用户自定义区
var XX=10; // 浮动层的X坐标,即左边距
var xstep=1; // 移动步长,此参数越小,移动越平滑,最小值为1
var delay_time=60; // 每步的时间间隔,此参数越小,移动速度越快
//以下部分请勿随意改动
var YY=0; 
var ch=0;
var oh=0;
var yon=0;
var ns4=document.layers?1:0 //判断浏览器类型是否是NS4
var ie=document.all?1:0 //判断浏览器类型是否是IE
var ns6=document.getElementById&&!document.all?1:0 //判断浏览器类型是否是NS6
if(ie){ //如果是IE
YY=document.body.clientHeight; //由clientHeight取得页面的高度
floatpoint.style.top=YY; //将浮动层位置调整到页面底部
}
else if (ns4){ //如果是NS4
YY=window.innerHeight; //由innerHeight取得页面的高度
document.floatpoint.pageY=YY; //将浮动层位置调整到页面底部
document.floatpoint.visibility="hidden"; //将浮动层隐藏。
}
else if (ns6){ //如果是NS6
YY=window.innerHeight //由innerHeight取得页面的高度
document.getElementById('floatpoint').style.top=YY //将浮动层位置调整到页面底部
}
function reloc1(){
if(yon==0){YY=YY-xstep;} //如果当前应该上移,则减小YY值
else{YY=YY+xstep;} //否则增加YY值下移
if (ie){ //如果是IE
ch=document.body.clientHeight; //取页面高度
oh=floatpoint.offsetHeight; //取浮动层的高度
}
else if (ns4){ //如果是NS4
ch=window.innerHeight; //取页面高度
oh=document.floatpoint.clip.height; //取浮动层的高度
}
else if (ns6){ //如果是NS6
ch=window.innerHeight //取页面高度
oh=document.getElementById("floatpoint").offsetHeight //取浮动层的高度
}
if(YY<0){yon=1;YY=0;} //如果浮动层超出了上界,则设定移动方向为向下;并设定层的位置为正好在上界处
if(YY>=(ch-oh)){yon=0;YY=(ch-oh);} //如果浮动层超出了下界,则设定移动方向为向上;并设定层的位置为正好在下界处
if(ie){ //如果是IE
floatpoint.style.left=XX; //用style.left设定浮动层左边距
floatpoint.style.top=YY+document.body.scrollTop; //用style.top设定浮动层上边距
}
else if (ns4){ //如果是NS4
document.floatpoint.pageX=XX; //用.pageX设定浮动层左边距
document.floatpoint.pageY=YY+window.pageYOffset; //用.pageY设定浮动层上边距
}
else if (ns6){ //如果是NS6
document.getElementById("floatpoint").style.left=XX
document.getElementById("floatpoint").style.top=YY+window.pageYOffset
}
}
function onad(){
if(ns4) //如果是NS4
document.floatpoint.visibility="visible"; //设定浮动层为可见
loopfunc(); //开始主循环,以不断改变浮动层位置
}
function loopfunc(){
reloc1(); //调整浮动层位置
setTimeout('loopfunc()',delay_time); //设定下一次调整的延时
}
if (ie||ns4||ns6)
window.onload=onad //初始化事件触发器
</script>
</BODY>
</HTML>

希望本文所述对大家的JavaScript程序设计有所帮助。

Javascript 相关文章推荐
javascript add event remove event
Apr 07 Javascript
基于jquery的仿百度的鼠标移入图片抖动效果
Sep 17 Javascript
javascript之典型高阶函数应用介绍二
Jan 10 Javascript
javascript中的五种基本数据类型
Aug 26 Javascript
举例讲解JavaScript中将数组元素转换为字符串的方法
Oct 25 Javascript
JavaScript中对JSON对象的基本操作示例
May 21 Javascript
新手学习前端之js模仿淘宝主页网站
Oct 31 Javascript
一个炫酷的Bootstrap导航菜单
Dec 28 Javascript
原生js轮播(仿慕课网)
Feb 15 Javascript
AngularJS实现的2048小游戏功能【附源码下载】
Jan 03 Javascript
原生JS实现简单的无缝自动轮播效果
Sep 26 Javascript
微信小程序实现富文本图片宽度自适应的方法
Jan 20 Javascript
javascript函数式编程程序员的工具集
Oct 11 #Javascript
深入探讨javascript函数式编程
Oct 11 #Javascript
Javascript函数式编程语言
Oct 11 #Javascript
Javascript函数式编程简单介绍
Oct 11 #Javascript
jQuery实现仿新浪微博浮动的消息提示框(可智能定位)
Oct 10 #Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
Oct 10 #Javascript
JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
Oct 10 #Javascript
You might like
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
2014/11/06 PHP
php中define用法实例
2015/07/30 PHP
PHP类型约束用法示例
2016/09/28 PHP
PHP PDOStatement::debugDumpParams讲解
2019/01/30 PHP
PHP中localeconv()函数的用法
2019/03/26 PHP
Javascript 类型转换方法
2010/10/24 Javascript
前台js改变Session的值(用ajax实现)
2012/12/28 Javascript
html组件不可输入(只读)同时任何组件都有效
2013/04/01 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
2014/09/22 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
NodeJs模拟登陆正方教务
2017/04/28 NodeJs
浅谈angular4 ng-content 中隐藏的内容
2017/08/18 Javascript
nodejs操作mongodb的填删改查模块的制作及引入实例
2018/01/02 NodeJs
vue中如何实现后台管理系统的权限控制的方法示例
2018/09/19 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
2019/08/23 Javascript
使用layer.msg 时间设置不起作用的解决方法
2019/09/12 Javascript
vue如何使用async、await实现同步请求
2019/12/09 Javascript
跟老齐学Python之有容乃大的list(4)
2014/09/28 Python
Python学习之asyncore模块用法实例教程
2014/09/29 Python
Python中的with...as用法介绍
2015/05/28 Python
Python实现模拟分割大文件及多线程处理的方法
2017/10/10 Python
Python读取properties配置文件操作示例
2018/03/29 Python
Python爬虫实现抓取京东店铺信息及下载图片功能示例
2018/08/07 Python
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
2020/06/23 Python
windows支持哪个版本的python
2020/07/03 Python
python中@property的作用和getter setter的解释
2020/12/22 Python
html5嵌入内容_动力节点Java学院整理
2017/07/07 HTML / CSS
10个最常见的HTML5面试题 附答案
2016/06/06 HTML / CSS
服装设计专业自荐书范文
2013/12/30 职场文书
大学校庆邀请函
2014/01/11 职场文书
护士毕业生自荐信
2014/02/07 职场文书
调解协议书
2014/04/16 职场文书
客房领班岗位职责
2015/02/11 职场文书
邹越演讲观后感
2015/06/15 职场文书