【HTML CSS JS 实现QQ2009界面——附源代码】

oDropDown=oDiv.getElementsByTagName(‘ul’)[0];

aLi=oDropDown.getElementsByTagName(‘li’);

for(i=0;i<aDiv.length;i++)

{

switch(aDiv[i].className)

{

case ‘link’:

oDropDownBtn=aDiv[i];

break;

}

}

oImg=aLi[0].getElementsByTagName(‘img’)[0];

oTmpParent=oImg.parentNode;

oTmpContainer.appendChild(oImg);

oImgInitSize.x=oImg.offsetWidth;

oImgInitSize.y=oImg.offsetHeight;

oTmpParent.appendChild(oImg);

oTmpContainer.parentNode.removeChild(oTmpContainer);

oDropDownBtn.οnmοusedοwn=function (ev)

{

if(this.className==‘active’)

{

hideDropDown(ev);

oDropDownBtn.className=‘hover’;

}

else

{

showDropDown(ev);

}

};

oDropDownBtn.οnmοuseοver=function ()

{

if(oDropDownBtn.className!=‘active’)

{

this.className=‘hover’;

}

};

oDropDownBtn.οnmοuseοut=function ()

{

if(oDropDownBtn.className!=‘active’)

{

this.className=‘link’;

}

};

document.body.οnmοusedοwn=hideDropDown;

for(i=0;i<aLi.length;i++)

{

aLi[i].miaovIndex=i;

aLi[i].οnmοuseοver=doScale;

aLi[i].οnmοusedοwn=function ()

{

oImgTitle.src=this.getElementsByTagName(‘img’)[0].src;

oInput.value=this.getElementsByTagName(‘span’)[1].innerHTML;

};

aTimer[i]=null;

aScale[i]=10;

}

aScale[1]=16;

aScale[2]=20;

aScale[3]=16;

};

function showDropDown(ev)

{

var oEvent=window.event || ev;

oDropDown.style.display=‘block’;

oDropDownBtn.className=‘active’;

oEvent.cancelBubble=true;

}

function hideDropDown(ev)

{

var oEvent=window.event || ev;

oDropDown.style.display=‘none’;

oDropDownBtn.className=‘link’;

oEvent.cancelBubble=true;

}

function doScale()

{

var iScale=0;

var iPading=0;

for(i=0;i<aLi.length;i++)

{

switch(Math.abs(i-this.miaovIndex))

{

case 1:

iScale=16;

iPading=6;

break;

case 0:

iScale=22;

iPading=10;

break;

default:

iScale=10;

iPading=4;

}

aLi[i].className=‘’;

aLi[i].getElementsByTagName(‘span’)[0].style.paddingTop=iPading+‘px’;

setScale(i, iScale);

}

this.className=‘bg’;

}

function setScale(index, iScale)

{

if(aTimer[index])

{

clearInterval(aTimer[index]);

}

aTimer[index]=setInterval(“setScaleInner(”+index+“, “+iScale+”)”, 30);

}

function setScaleInner(index, iTarget)

{

var iScale=aScale[index];

var oImg=aLi[index].getElementsByTagName(‘img’)[0];

if(iScale==iTarget)

{

clearInterval(aTimer[index]);

aTimer[index]=null;

}

else

{

if(iScale>iTarget)

{

iScale–;

}

else

{

iScale++;

}

oImg.style.width=oImgInitSize.x*iScale/10+‘px’;

oImg.style.height=oImgInitSize.y*iScale/10+‘px’;

aScale[index]=iScale;

}

}

style.css

@charset “utf-8”;

*{padding:0;margin:0;list-style-type:none;}

body{background:#3a6ea5 url(images/desktop.png) no-repeat 0px 10px;}

#qq{width:340px;height:250px;background:url(images/bg.png);position:absolute;top:50%;left:50%;margin:-125px 0 0 -170px;}

#qq .input{position:absolute;top:110px;left:67px;}

#qq .input .pic{float:left;}

#qq .input p{float:left;padding-left:3px;}

#qq .input .link, #qq .input .active, #qq .input .hover{width:23px;height:22px;cursor:pointer ;float:left;position:relative;top:-1px;right:-1px;}

#qq .input .link{background:url(images/btn.gif) no-repeat 0px -22px;}

#qq .input .active{background:url(images/btn.gif) no-repeat 0px 0px;}

#qq .input .hover{background:url(images/btn.gif) no-repeat 0px -44px;}

#qq ul{width:182px;padding:1px;background:#fff;border:1px solid #0093d1;position:absolute;top:133px;left:65px;display:none;}

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
149921)]

[外链图片转存中…(img-LtO1rUq7-1715746149922)]

[外链图片转存中…(img-P5OCAtGa-1715746149922)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
源码描述: 一、源码描述 GG是QQ的高仿版,包括客户端和服务端,可在广域网部署使用,目前推出的最新版本为4.3。 GG 4.3版本增加的主要功能是:在视频聊天的过程中,随时可以启动录制,录制将把聊天双方的视频图像和双方的声音都录制下来生成一个标准的mp4文件,该mp4文件可用任意的影音播放器打开播放。 二、功能介绍 01、注册、登录、查找用户、添加好友、好友列表。 02、自拍头像。 03、文字聊天、字体设置、GIF动态表情、窗口震动、截图、手写板、登录状态(在线、离开、忙碌、勿打扰、隐身)、输入提醒) 04、群功能:创建群、加入群、退出群、群聊天 05、文件传送、文件夹传送(支持断点续传) 06、语音视频聊天 07、远程磁盘 08、远程协助 09、共享桌面(可以指定要共享的桌面区域) 10、可靠的P2P 11、网盘 12、离线消息 13、离线文件 14、托盘闪动:跟QQ完全一样,当接收到消息时,托盘会闪动对应好友的头像。点击头像,将弹出与好友的聊天框。 15、最近联系人列表 16、系统设置:开机自动启动、麦克风设备索引、摄像头设备索引,叉掉主窗口时关闭程序还是隐藏窗口。 17、聊天记录:支持本地保存和服务器端保存两种方式。 18、好友分组:新增/删除分组,修改分组名称,改变好友的所属分组。 19、打开聊天窗口时,自动显示上次交谈的最后一句话。 20、输入提醒:像QQ一样,当对方正在输入消息时,我这边的聊天框可以看到对方“正在输入”的提示。 21、自动记录:GG2014会自动记录上次打开的主界面的位置、大小;最后一次打开的聊天窗口的大小;最后一次设定的字体的颜色、大小等。 22、主窗体靠边自动隐藏。 23、录制视频聊天。 三、注意事项 1.当前版本服务端默认配置为内存虚拟数据库版本,不需要安装数据库。 2、开发环境为Visual Studio 2010,无数据库,使用.net 2.0开发。 2.将GG2014.Server文件夹拷贝到服务器上,运行GG2014.Server.exe。 3.修改客户端配置文件GG2014.exe.config中ServerIP配置项的值为服务器的IP。 4.运行客户端,注册帐号登录试用。 5.内置测试帐号为 10000,10001,10002,10003,10004;密码都是 1。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值