仿 qq登录界面 php,js仿腾讯QQ的web登陆界面
用了腾讯QQ也有将近十年了,今天心血来潮想模仿腾讯QQ的登陆面板做一个web版的登陆面板,然后参考了一些代码,自己模仿,学写了一个。
效果如下:
其中还实现了拖动面板,选择状态的效果
下面是具体代码:
1.index.html
拖动
- 我在线上
- Q我吧
- 离开
- 忙碌
- 请勿打扰
- 隐身
2.css/main.css:
.loginPanel {
width: 380px;
height: 247px;
left: 400px;
top: 120px;
position: absolute;
border: 1px solid #ccc;
background: #f6f6f6;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
-moz-box-shadow: 0 0 8px #000;
-webkit-box-shadow: 0 0 8px #000;
box-shadow: 0 0 8px #000;
}
.login_logo_webqq {
background: url('../images/login_window_logo.png') no-repeat -210px -0px;
margin-left: 100px;
margin-top: 10px;
width: 200px;
height: 44px;
cursor: move;
}
.inputs {
font: bold 15px arial;
margin-left: 80px;
margin-top: 30px;
}
.inputs .sign-input {
padding-bottom: 20px;
}
.inputs .sign-input input {
width: 170px;
border: 1px #ccc solid;
color: #868686;
font-size: 16px;
padding: 2px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
-khtml-border-radius: 10px;
-border-radius: 10px;
outline: none;
}
.btn {
background: url("../images/login_btn.png") no-repeat -111px 0;
width: 111px;
height: 36px;
border: 0;
text-align: center;
line-height: 20px;
color: #0C4E7C;
cursor: pointer;
margin-left: 14px;
}
.login-state-trigger {
cursor: pointer;
display: block;
float: left;
height: 16px;
overflow: hidden;
width: 120px;
margin: 4px 0 0 0;
}
.login-state-trigger2 {
margin: 10px 0 0 20px;
}
.login-state-down {
background: url("../images/ptlogin.png") no-repeat scroll 0 -22px transparent;
float: left;
height: 6px;
margin-top: 5px;
overflow: hidden;
text-indent: -999em;
width: 7px;
}
.login-state-show {
float: left;
height: 14px;
overflow: hidden;
text-indent: -999em;
width: 14px;
margin: 1px 4px 0 0;
}
.login-state-txt {
float: left;
margin-left: 5px;
font-size: 12px;
>line-height:18px!important;
}
.login-state .callme {
background: url("../images/ptlogin.png") -72px 0 no-repeat;
}
.login-state .online {
background: url("../images/ptlogin.png") 0 0 no-repeat;
}
.login-state .away {
background: url("../images/ptlogin.png") -18px 0 no-repeat;
}
.login-state .busy {
background: url("../images/ptlogin.png") -36px 0 no-repeat;
}
.login-state .silent {
background: url("../images/ptlogin.png") -108px 0 no-repeat;
}
.login-state .hidden {
background: url("../images/ptlogin.png") -54px 0 no-repeat;
}
.statePanel {
display: none;
position: absolute;
right: 68px;
top: 193px;
z-index: 10;
margin: 0;
border-width: 1px;
border-style: solid;
border-color: #ccc #6a6a6a #666 #cdcdcd;
padding: 0;
width: 100px;
height: 133px;
overflow: hidden;
background: white;
font-size: 12px;
line-height: 1.5;
}
.statePanel .statePanel_li {
display: block;
float: left;
margin: 0;
padding: 3px 0;
width: 100px;
height: 16px;
line-height: 16px;
overflow: hidden;
zoom: 1;
cursor: pointer;
}
.stateSelect_icon {
float: left;
margin: 2px 0 0 5px;
width: 14px;
height: 14px;
overflow: hidden;
}
.stateSelect_text {
margin: 0 0 0 22px;
}
.bottomDiv {
margin-left: 70px;
}
.ui_boxyClose{width:28px;height:28px;position:absolute;top:-10px;right:-10px;cursor:pointer;background:url('../images/boxy_btn.png') no-repeat;z-index:1}.ie6_0 .ui_boxyClose{background:0;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='boxy_btn.png',sizingMethod='scale')}
3.js/drag.js:
function getByClass(clsName,parent){
var oParent=parent?document.getElementById(parent):document,
eles=[],
elements=oParent.getElementsByTagName('*');
for(var i=0,l=elements.length;i
if(elements[i].className==clsName){
eles.push(elements[i]);
}
}
return eles;
}
window.οnlοad=drag;
function drag(){
var oTitle=getByClass('login_logo_webqq','loginPanel')[0];
// 拖曳
oTitle.οnmοusedοwn=fnDown;
// 关闭
var oClose=document.getElementById('ui_boxyClose');
oClose.οnclick=function(){
document.getElementById('loginPanel').style.display='none';
}
// 切换状态
var loginState=document.getElementById('loginState'),
stateList=document.getElementById('loginStatePanel'),
lis=stateList.getElementsByTagName('li'),
stateTxt=document.getElementById('login2qq_state_txt'),
loginStateShow=document.getElementById('loginStateShow');
loginState.οnclick=function(e){
e = e || window.event;
if(e.stopPropagation){
e.stopPropagation();
}else{
e.cancelBubble=true;
}
stateList.style.display='block';
}
// 鼠标滑过、离开和点击状态列表时
for(var i=0,l=lis.length;i
lis[i].οnmοuseοver=function(){
this.style.background='#567';
}
lis[i].οnmοuseοut=function(){
this.style.background='#FFF';
}
lis[i].οnclick=function(e){
e = e || window.event;
if(e.stopPropagation){
e.stopPropagation();
}else{
e.cancelBubble=true;
}
var id=this.id;
stateList.style.display='none';
stateTxt.innerHTML=getByClass('stateSelect_text',id)[0].innerHTML;
loginStateShow.className='';
loginStateShow.className='login-state-show '+id;
}
}
document.οnclick=function(){
stateList.style.display='none';
}
}
function fnDown(event){
event = event || window.event;
var oDrag=document.getElementById('loginPanel'),
// 光标按下时光标和面板之间的距离
disX=event.clientX-oDrag.offsetLeft,
disY=event.clientY-oDrag.offsetTop;
// 移动
document.οnmοusemοve=function(event){
event = event || window.event;
fnMove(event,disX,disY);
}
// 释放鼠标
document.οnmοuseup=function(){
document.οnmοusemοve=null;
document.οnmοuseup=null;
}
}
function fnMove(e,posX,posY){
var oDrag=document.getElementById('loginPanel'),
l=e.clientX-posX,
t=e.clientY-posY,
winW=document.documentElement.clientWidth || document.body.clientWidth,
winH=document.documentElement.clientHeight || document.body.clientHeight,
maxW=winW-oDrag.offsetWidth-10,
maxH=winH-oDrag.offsetHeight;
if(l<0){
l=0;
}else if(l>maxW){
l=maxW;
}
if(t<0){
t=10;
}else if(t>maxH){
t=maxH;
}
oDrag.style.left=l+'px';
oDrag.style.top=t+'px';
}
4.最后是需要的图片文件
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
仿 qq登录界面 php,js仿腾讯QQ的web登陆界面相关推荐
- 谷歌浏览器登录不了账号_腾讯qq无故冻结账号什么情况?qq号为什么登录不了方法官方回应_海峡网...
阅读本文前,请您先点击上面的蓝色字体,再点击"关注",这样您就可以继续免费收到文章了.每天都有分享,完全是免费订阅,请放心关注. 注:本文转自网络,如有侵权,请联系删除谢谢. 针对 ...
- 谷歌浏览器登录不了账号_腾讯qq无故冻结账号什么情况?qq号为什么登录不了方法官方回应...
针对今日网友反馈QQ账号被冻结一事,腾讯QQ官微刚刚回应称:已经修复完毕,目前可正常使用. 腾讯官方表示,今天中午,出现了部分用户无法正常登录QQ的情况.对此问题,我们已经修复完毕,目前可正常使用.对 ...
- QQ登录回调地址实现:【获取qq好友列表数据】附实例
QQ登录回调地址实现:[获取qq好友列表数据] <?php require_once("../../API/qqConnectAPI.php"); $qc = new QC( ...
- 界面开发(2)--- 使用PyQt5制作用户登陆界面
使用PyQt5制作用户登陆界面 上篇文章已经介绍了如何配置PyQt5环境,这篇文章在此基础上展开,主要记录一下如何使用 PyQt5 制作用户登陆界面,并对一些基础操作进行介绍. 下面是具体步骤,一起来 ...
- html模仿qq邮箱,如何实现JS仿QQ邮箱收件人选择和搜索
如何实现JS仿QQ邮箱收件人选择和搜索 导语:通过下面教程的学习,大家可以掌握如何实现JS仿QQ邮箱收件人选择和搜索,更多详情请关注应届毕业生考试网. 页面截图: 主要html代码: To: Subj ...
- html仿京东选项卡切换代码,js仿京东轮播效果 选项卡套选项卡使用
本文实例为大家分享了js仿京东轮播效果的具体代码,实现选项卡套用选项卡,供大家参考,具体内容如下 效果图: 代码: 无标题文档 *{margin:0;padding:0;} ul{list-style ...
- qq动态页面变方格_腾讯QQ音乐9.7.5正式版更新:「歌手主页个人主页」界面全新改版...
IT之家12月23日消息 今天,腾讯QQ音乐推送了v9.7.5正式版的更新,「歌手主页&个人主页」页面全新改版:「排行榜」新增榜单推荐,基于你的喜好为你推荐榜单:增加本地歌曲排行榜:「听歌识曲 ...
- QQ登录,163邮箱注册,电脑QQ表情收藏测试用例
QQ登录 163邮箱注册 电脑QQ表情收藏
- php qq登录修改回调地址,『通知』QQ无法登陆,QQ互联加强网站应用回调地址校验...
2018年3月12日15:41:33 更新:还以为随便改一下URL就行了~~ 结果发现不行!!下面的总结的内容!!也通知一下大家本站QQ登录已经可以了! 最后仔细阅读了他们的文档,做以下修改!! 网站 ...
最新文章
- 985硕博导师:如果你没空看书,我强烈建议你做这件事
- tf.estimator的用法
- android到顶部,Android recyclerview滚动到顶部
- 如果传输的文件过大怎么办
- 电子工程就业前景真的不如计算机吗?
- dobbo 简单框架
- centos php 版本升级 至5.3 wordpress3.7
- 【JUC】JDK1.8源码分析之ConcurrentHashMap
- win7 64位系统没有语音识别,该如何解决?
- 数学库及其应用math库与random库
- 国外 java 源码_将近100多个国外优秀Java程序员的编程源代码JAVA源码下载
- Maven的安装与配置教程
- C语言实现扩展欧几里得算法
- Typora中插入分页符
- 建筑设计全过程碳排放计算与案例分析
- Grub4dos 硬盘引导 iso 文件
- Monty Hall Problem (三门问题)
- 搭建自己的V Rising自建服务器,以及常见的V Rising服务器问题解决方案
- 不同情况下的sql求和
- 什么是描述性统计分析( descriptive statistics)?主要包含哪些内容?
热门文章
- aardio - inputBox 漂亮的输入框
- AudioPolicy--音量的控制
- 微软应用商店Microsoft Store错误代码: 0xC002001B官方解决方法和Windows计算器替代品Qalculate
- python 引发报错 raise Exception(“...“)
- 愿在夜而为烛,照玉容于两楹;悲扶桑之舒光,奄灭景而藏明!
- 2FSK调制解调实验
- win+r的快捷操作
- 助眠好物排行榜,有了这些就不怕睡不着了
- 贵州省六盘水谷歌卫星地图下载
- developerworks文章