纯js实现页面右下角提示信息渐出和渐失
来源:互联网 发布:停车软件的盈利模式 编辑:程序博客网 时间:2024/05/23 11:30
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
/*
* 2010.8.4
* 此js弊端:渐出和渐失div时怎么隐藏掉滚动条
*/
var width=0;
var height=0;
var isShow=0;
var isResize=0;
//此方法在窗体加载时设定div的位置并调用TimeOutDiv以实现渐出效果
function showDiv()
{
isShow++;
//里面div位置
var divWidth=divMessage.style.width; //得到当前div宽
var divHeight=divMessage.style.height; //得到当前div高
//得到浏览器宽和高
width=Ext.getBody().getViewSize().width;
height=Ext.getBody().getViewSize().height;
divMessage.style.marginLeft=width-divWidth.substring(0,divWidth.length-2)-10;
if(isResize!=0)
{
divMessage.style.marginTop=height-divHeight.substring(0,divHeight.length-2)-30;
isResize=0;
}
else
{
divMessage.style.marginTop=height;
TimeOutDiv();
}
}
function TimeOutDiv()
{
if(isShow!=0)
{
var mt=divMessage.style.marginTop;
mt=mt.substring(0,mt.length-2);
var divHeight=divMessage.style.height;//当前div的高
divHeight=divHeight.substring(0,divHeight.length-2);
if(mt==((parseInt(height)-parseInt(divHeight)-30))) //此处加载时距顶端减去的数值(如30)必须是5的倍数,因为div消失时以5来递减的
{
isShow=0;
clearTimeout(timeOutShow);
}
else
{
mt=mt-10;
divMessage.style.marginTop=mt;
// if(parseInt(divHeight)<200) //div的高必须为5的倍数
// {
// divHeight=parseInt(divHeight)+5;
// divMessage.style.height=divHeight;
// }
}
var timeOutShow=setTimeout("TimeOutDiv()",50);
}
}
/* div逐渐消失(类似缩进页面下部的效果)
* 实现思路:让div逐渐增加与浏览器顶端的距离,这样的话页面会越来越高(伴随着出现滚动条),
* 所以再增加与顶端距离的同时要让div的高减小(减小的数值等于增加的顶端距离),
* 但是不知道为什么在div的高大概剩余40的时候会出现滚动条,仔细跟了下发现此时减去的div的高
* 不能完全跟上增加的顶端距离(注:div的高大概大于40之前没有这种现象),所以不得不在这个时候让
* div的高减去的数值增加(数值增加的代码注释掉了,因为这种方法只能针对固定的窗体的大小,
* 一旦客户端改变了窗体大小代码就没用了(还是出现滚动条))
*/
var x=5;
var y=0;
function hideDiv()
{//alert("aaaaaa");
// if(x==15)
// y=-5
var divHeight=divMessage.style.height;//当前div的高
divHeight=divHeight.substring(0,divHeight.length-2);
var height=Ext.getBody().getViewSize().height; //浏览器的高
var mt=divMessage.style.marginTop; //初始时div距浏览器顶部的距离
mt=mt.substring(0,mt.length-2);
//alert(height+","+marginTop+","+divHeight);
if(parseInt(divHeight)<=0)
{ //div的高为零,此时消除timeout,隐藏div
clearTimeout(timeOutHide);
divMessage.style.display="none";
}
else //距顶部距离小于浏览器高时,说明div还没有完全隐藏,此时增加距顶部距离的同时
{ //减小div的高
mt=parseInt(mt)+5; //增加距顶部距离
divMessage.style.marginTop=mt;
var z=(parseInt(mt)-(parseInt(height)-parseInt(divHeight))); //当距顶部距离大于浏览器高和div高的差时才减小div的高
//alert(marginTop+","+divHeight+","+height+","+(parseInt(height)-parseInt(divHeight)).toString()+","+x.toString());
//alert(z);
if(z==0)//||(x==15&&z%y==0)
{
// if(parseInt(divHeight)<40)
// x=15;
// if(divHeight<x)
// divHeight=0;
// else
divHeight=parseInt(divHeight)-x;
divMessage.style.height=divHeight;
}
}
var timeOutHide=setTimeout("hideDiv()",150);
}
//window的resize事件以实现不论页面怎么变动div始终位于页面右下角
window.onresize=function WindowResize()
{
isResize++;
/* 加上判断的原因是让只有窗体大小改变时才激发此事件,
* 因为改变div的marginTop时默认会激发onresize事件,这样的话展示和关闭效果都出不来
*/
if(Ext.getBody().getViewSize().width!=width||Ext.getBody().getViewSize().height!=height)
showDiv();
}
</script>
<style type="text/css">
.e
{
margin-left:10px;
}
</style>
</head>
<body onload="showDiv()">
<form id="form1" runat="server">
<ext:ScriptManager ID="sm" runat="server"></ext:ScriptManager>
<div>
<ext:Window ID="aa" runat="server" Cls="e"></ext:Window>
<div id="divMessage" runat="server" style="width:208px; height:200px;">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="background-color: #F7F7F7;width:2px;"></td>
<td style="background-color: #EEEEEE;width:2px;"></td>
<td style="background-color: #E6E6E6;width:2px;"></td>
<td style="background-color: #DDDDDD;width:2px;"></td>
<td style="background-color: #D4D4D4;width:2px;"></td>
<td style="background-color: #CCCCCC;width:2px;"></td>
<td style="background-color: #C3C3C3;width:2px;"></td>
<td style="background-color: #BBBBBB;width:2px;"></td>
<td width="200px">
<div style="background-color: #CFE0F1;border:solid 1px #99BBE8;margin-left:0;">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td align="right" style="height:20px;width:100%; " colspan="3">
<label onclick="hideDiv()">最小</label>
<img src="images/close.jpg" onclick="hideDiv()" style=" cursor:pointer;margin-right:5px;" />
</td>
</tr>
<tr>
<td style="width:5px;height:175;"></td>
<td style="background-color:#DFE8F6;height:175;width:190px;border:1px solid #99BBE8;">
<a onclick="divMessage.style.display='none';" style="cursor:pointer;">跳转</a>
</td>
<td style="width:5px;height:175px;"></td>
</tr>
<tr>
<td colspan="3" style="height:5px;width:100%;"></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
</div>
</form>
</body>
</html>
希望看到文章的朋友给俺提出的问题:渐出和渐失的时候怎么不出现滚动条,给个答案,谢谢!俺的Email:niuhengaiyangrui@126.com,QQ:516957105,谢谢!
- 纯js实现页面右下角提示信息渐出和渐失
- 页面右下角提示信息框
- js实现右下角提示框
- js插件-右下角弹出信息提示框
- 页面右下角出现提示框 js版
- 页面右下角弹出提示框 js版
- 页面右下角弹出提示框 js版
- qq右下角信息提示框的实现
- EasyUI实现页面右下角弹出提示框
- JS输出右下角的滑出POP提示窗口
- js实现浏览器右下角弹出提示信息窗口,几秒后自动关闭
- js实现右下角消息提示功能
- js右下角通知提示框的实现
- 页面右下角弹出提示
- 纯JS实现QQ右下角弹窗demo
- javascript实现屏幕右下角弹出信息提示框
- 纯CSS实现小三角提示信息
- 实现右下角提示框
- Virtual PC 窗口消失了....
- Linux中的useradd命令
- Jsf rich:dataTable and h:selectBooleanCheckbox 组合
- 哈哈、第一编博客
- 利用Action Script3动态语言的特点
- 纯js实现页面右下角提示信息渐出和渐失
- 什么是信令?
- Section 1.5 Number Triangles
- Oracle跨数据库查询并插入
- 如何在DEV C++里嵌入汇编
- 主板三例硬件故障实战排除
- [转]ALAC (二)
- yield return
- 感谢你们圆了一个狼疮患者做妈妈的梦