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 相关文章推荐
Dom加载让图片加载完再执行的脚本代码
May 15 Javascript
jQuery 学习 几种常用方法
Jun 11 Javascript
CCPry JS类库 代码
Oct 30 Javascript
javascript实现面向对象类的功能书写技巧
Mar 07 Javascript
原生javascript兼容性测试实例
Jul 01 Javascript
JavaScript splice()方法详解
Sep 22 Javascript
JavaScript对象反射用法实例
Apr 17 Javascript
jQuery取消ajax请求的方法
Jun 09 Javascript
jquery实现垂直和水平菜单导航栏
Aug 27 Javascript
node.js中grunt和gulp的区别详解
Jul 17 Javascript
Angular实现响应式表单
Aug 04 Javascript
Vue 父子组件数据传递的四种方式( inheritAttrs + $attrs + $listeners)
May 04 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
简单的过滤字符串中的HTML标记
2006/12/25 PHP
php实现的mongodb操作类
2015/05/28 PHP
PHP实现上传图片到 zimg 服务器
2016/10/19 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
2017/03/28 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
一个不错的用JavaScript实现的UBB编码函数
2007/03/09 Javascript
Javascript var变量隐式声明方法
2009/10/19 Javascript
ExtJS 下拉多选框lovcombo
2010/05/19 Javascript
基于jquery的图片的切换(以数字的形式)
2011/02/14 Javascript
capacityFixed 基于jquery的类似于新浪微博新消息提示的定位框
2011/05/24 Javascript
Js从头学起(基本数据类型和引用类型的参数传递详细分析)
2012/02/16 Javascript
js 页面元素的几个用法总结
2013/11/18 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
2015/06/24 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
jQuery实现的导航下拉菜单效果
2016/07/04 Javascript
JQuery 获取Dom元素的实例讲解
2017/07/08 jQuery
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
2017/11/27 Javascript
vue-cli构建项目下使用微信分享功能
2018/05/28 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
Python获取文件ssdeep值的方法
2014/10/05 Python
python连接PostgreSQL数据库的过程详解
2019/09/18 Python
详解Python中的编码问题(encoding与decode、str与bytes)
2020/09/30 Python
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
爱尔兰橄榄球店:Irish Rugby Store
2019/12/05 全球购物
进程的查看和调度分别使用什么命令
2015/03/25 面试题
高一数学教学反思
2014/02/07 职场文书
司法建议书范文
2014/05/13 职场文书
动物科学专业求职信
2014/07/27 职场文书
2014年工会工作总结
2014/11/12 职场文书
龙潭大峡谷导游词
2015/02/10 职场文书
毕业设计致谢语
2015/05/14 职场文书
大国崛起观后感
2015/06/02 职场文书
班主任工作总结范文
2015/08/13 职场文书
导游词之宿迁乾隆行宫
2019/10/15 职场文书
一文弄懂MySQL索引创建原则
2022/02/28 MySQL
「海贼王」112.9万粉丝纪念图标公布
2022/03/21 日漫