A5下载站:努力做内容最丰富最安全的下载站! 网站地图最新更新下载排行专题软件发布

热门软件

地铁跑酷

冒险迷岛

全民迷宫

连连消大作战

小河狸创客

阿里健康医鹿

支付宝app

番薯小说

MOMO陌陌

虾米音乐app

位置导航:A5下载 > 源码技巧 > 父类数据

JavaScript模拟可展开、拖动与关闭的聊天窗口实例

时间:2015-05-12 11:01来源:a5源码作者:zhao浏览:152
这篇文章主要介绍了JavaScript模拟可展开、拖动与关闭的聊天窗口,实例分析了javascript实现可拖动的div层相关技巧,非常具有实用价值,需要的朋友可以参考下……

用JavaScript实现的仿QQ聊天窗口,可以展开层、拖动层、关闭层,还可以简单发消息,很不错吧,而且代码也不多,适合新手研究,也比较实用,你可以在此基础上扩展很多JS+CSS应用。

<!--CTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt-->

<html>

<head>

<title>层展开、层拖动、层关闭</title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<style type="text/css" media="all" rel="stylesheet">

<!--

body {

text-align:left;

margin:0;

font:normal 12px Verdana, Arial;

background:#FFEEFF

}

form {

margin:0;

font:normal 12px Verdana, Arial;

}

table,input {

font:normal 12px Verdana, Arial;

}

a:link,a:visited{

text-decoration:none;

color:#333333;

}

a:hover{

text-decoration:none;

color:#FF6600

}

#main {

width:400px;

position:absolute;

left:600px;

top:100px;

background:#EFEFFF;

text-align:left;

filter:Alpha(opacity=90)

}

#ChatHead {

text-align:right;

padding:3px;

border:1px solid #003399;

background:#DCDCFF;

font-size:11px;

color:#3366FF;

cursor:move;

}

#ChatHead a:link,#ChatHead a:visited, {

font-size:14px;

font-weight:bold;

padding:0 3px

}

#ChatBody {

border:1px solid #003399;

border-top:none;

padding:2px;

}

#ChatContent {

height:200px;

padding:6px;

overflow-y:scroll;

word-break: break-all

}

#ChatBtn {

border-top:1px solid #003399;

padding:2px

}

-->

</style><script language="javascript" type="text/javascript">

<!--

function $(d){return document.getElementById(d);}

function gs(d){var t=$(d);if (t){return t.style;}else{return null;}}

function gs2(d,a){

if (d.currentStyle){

var curVal=d.currentStyle[a]

}else{

var curVal=document.defaultView.getComputedStyle(d, null)[a]

}

return curVal;

}

function ChatHidden(){gs("ChatBody").display = "none";}

function ChatShow(){gs("ChatBody").display = "";}

function ChatClose(){gs("main").display = "none";}

function ChatSend(obj){

var o = obj.ChatValue;

if (o.value.length>0){

$("ChatContent").innerHTML += "<strong>Akon说:</strong>"+o.value+"<br/>";

o.value='';

}

}

if (document.getElementById){

(

function(){

if (window.opera){ document.write("<input type='hidden' id='Q' value=' '>"); }

var n = 500;

var dragok = false;

var y,x,d,dy,dx;

function move(e)

{

if (!e) e = window.event;

if (dragok){

d.style.left = dx + e.clientX - x + "px";

d.style.top = dy + e.clientY - y + "px";

return false;

}

}

function down(e){

if (!e) e = window.event;

var temp = (typeof e.target != "undefined")?e.target:e.srcElement;

if (temp.tagName != "HTML"|"BODY" && temp.className != "dragclass"){

temp = (typeof temp.parentNode != "undefined")?temp.parentNode:temp.parentElement;

}

if('TR'==temp.tagName){

temp = (typeof temp.parentNode != "undefined")?temp.parentNode:temp.parentElement;

temp = (typeof temp.parentNode != "undefined")?temp.parentNode:temp.parentElement;

temp = (typeof temp.parentNode != "undefined")?temp.parentNode:temp.parentElement;

}

if (temp.className == "dragclass"){

if (window.opera){ document.getElementById("Q").focus(); }

dragok = true;

temp.style.zIndex = n++;

d = temp;

dx = parseInt(gs2(temp,"left"))|0;

dy = parseInt(gs2(temp,"top"))|0;

x = e.clientX;

y = e.clientY;

document.onmousemove = move;

return false;

}

}

function up(){

dragok = false;

document.onmousemove = null;

}

document.onmousedown = down;

document.onmouseup = up;

}

)();

}

-->

</script>

</head>

<body>

<div class="dragclass" id="main" style="LEFT: 588px; TOP: 298px">

<div id="ChatHead"><a onclick="ChatHidden();" href="#">-</a>

<a onclick="ChatShow();" href="#">+</a>

<a onclick="ChatClose();" href="#">x</a> </div>

<div id="ChatBody">

<div id="ChatContent">HI! Hello ! Welcome to down.admin5.com/info</div>

<div id="ChatBtn">

<form action="" method="post" name="chat">

</form>

</div>

</div>

</div>

</body>

</html>

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