自己封装的tc
封装弹窗 html
<head>
<script src="jquery.js"></script>
<script src="tc.js"></script>
<title>tc</title>
<link href="tc.css" rel=“stylesheet” type=“text/css”/>
</head>
<body>
<div><input id='tc' type='button' value='弹窗'</div>
</body>
</html>
<script type='text/javascript'>
$(document).ready(function(e){
var button="<input id='qd' type='button' value='确定'/>";
$("#tc").click(function(){
var tc= new Window({
width:400,
height:300,
left:150,
top:200,
buttons:button,
title:'tc',
content:'hello world',
isMask:true,
isDrag:true,
}) })
}) </script>
css 文件
#zhuti{
position:absolute;
background-color:#999999;
overflow:hidden;
z-index:4;
border-radius:5px;
} .title
{
padding:1px;
background-color:#6699FF;
vertical-align:middle;
heigth:35px;
width:100%;
line-heigth:35px;
text-indent:1 em;
} .close
{
float:right;
width:35px;
heigth:35px;
font-weight:bold;
line-height:35px;
vertical-align:middle;
color:#FFFFFF;
font-size:18px;
} .close:hover
{
cursor:pointer;
} .content
{
padding:3px;
text-indent:1 em;
padding-top:10px;
background-color:#fff;
} .btnx{
height:40px;
width:100%;
text-indent:1 em;
background-color:#0066cc;
} #zz{
width:100%;
heigth:100%
opacity:0.4;
display:block;
background-color:#333333;
z-index:1;
position:absolute;
top:0px;
left:0px;
}
tc.js文件 红色字体 中英混淆
var Window = function(config)//js封装类的一种方式 var Window = function(){} config 参数 jason 数据类型常用作封装类的配置参数
{
//初始化接受参数 json取值方式 config.width
this.config={
width:config.width||300,
height:config.heigth||200,
left:config.left||300,
top:config.top||300,
buttons:config.buttons ||"",
title:config.title||"标题",
content:config.content||"内容",
isMask:config.isMask==false?false:config.isMask ||true,
isDrag:config.isDrag==false?false:config.isDrag ||true,
}
// 加载弹出窗体 造div 注意里面变量连接方式
var zhuti = "<div class='zhuti' id='zhuti' style='width:"+this.config.width+"px; height:"+this.config.heigth+"px; left:"+this.config.left+"px; top:"+this.config.top+"px;'></div>"; //找到body对象追加主体div
$("body").append(zhuti);
//加载弹窗标题
var content="<div id='title' class='title'>"+this.config.title+"<div id='close' class='close'>X</div></div>";
//加载弹窗内容
var nrh =this.config.heigth-80;
content = content+"<div id='content' class='content' style='width:100%; heigth:"+nrh+"px'>"+this.config.content+"</div>";
//加载按钮
content = content+"<div id='btnx' class='btnx'>"+this.config.buttons+"</div>"; //将content拼接追加主体
$("#zhuti").html(content); //创建遮罩层
if(this.config.isMask)
{
var zz ="<div id='zz'></div>";
$("body").append(zz);
$("#zz").css('display','block');
} //拖动事件
var maxX = $(window).width()-this.config.width;
var maxY = $(window).heigth()-this.config.heigth;
var minX=0; var minY=0;
if(this.config.isDrag)
{
$("title").bind('mousedown',function(e){
var endX= 0;//移动后的x坐标
var endY= 0;//移动后的y坐标
var startX=parseInt($("#zhuti").css("left"));//弹出初始x坐标
var startY=parseInt($("#zhuti").css("top"));//弹出初始 y 坐标 var downX= e.clientX;//鼠标按下 x 坐标
var downY= e.clientY;//鼠标按下 x 坐标 //绑定鼠标移动事件
$("body").bind("mousemove",function(es){
endX = es.clientX -downX+startX;//x坐标移动
endY = es.clientY -downY+startY;//Y坐标移动
//最大最小限制
if(endX>maxX)
{
endX=maxX;
}
else if(endX<)
{
endX=0;
}
if(endY>maxY)
{
endY=maxY;
}
else if(endY<)
{
endY=0;
} $("#zhuti").css("top",endY+"px");
$("#zhuti").css("left",endX+"px");
}) })
}
//鼠标抬起 释放移动事件
$("body").bind("mouseup",funhction(){
$("body").unbind("mousemove");
}) //关闭窗口
$("#qd").click(function(){
$("#zhuti").remove();//移除主体
$("zz").remove();//移除遮罩
}) $(".close").click(function(){
$("#zhuti").remove();//移除主体
$("zz").remove();//移除遮罩
}) }
自己封装的tc的更多相关文章
- C++实现对lua访问的封装
这是一个几年前写的对lua的访问封装,当时的项目仅提供了最基本的lua访问接口:调用lua函数,向lua注册标准格式的C++函数. 本来我想引进luabind,但luabind相对又过于复杂,并不是所 ...
- Linux TC流量控制HOWTO中文版
<本文摘自Linux的高级路由和流量控制HOWTO中文版 第9章节>网人郭工进行再次编译: 利用队列,我们可以控制数据发送的方式.记住我们只能对发送数据进行控制(或称为整形).其实,我们无 ...
- 电影TS、TC、SCR、R5、BD、HD等版本是什么意思
在很多电影下载网站的影片标题中我们都能看到,比如<刺杀希特勒BD版>.<游龙戏凤TS版>等,这些英文缩写都是什么意思呢?都代表什么画质?以下就是各个版本的具体含义: 1.CAM ...
- Linux TC (traffic control)
在着手学习TC采用如下单位来描述带宽: mbps = 1024 kbps = 1024 * 1024 bps => byte/s mbit = 1024 kbit => kilo bit/ ...
- 简易封装一个带有占位文字的TextView
在实际iOS应用开发中我们经常会用到类似于下图所示的界面,即带有占位文字的文本框:
- linux 下使用 tc 模拟网络延迟和丢包(转)
1 模拟延迟传输简介 netem 与 tc: netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块.该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带 ...
- Javascript 封装问题
Javascript 封装问题 为什么会用这样一个题目呢,这是要说封装的什么问题,本文并不讲高深的封装理论,只是解决一个小问题. 问题来源 今天在百度知道上闲逛,遇到一个网友的问题,问题如下,问题的地 ...
- linux 下使用 tc 模拟网络延迟和丢包
1 模拟延迟传输简介 netem 与 tc: netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块.该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带 ...
- 半导体热阻问题深度解析(Tc,Ta,Tj,Pc)
半导体热阻问题深度解析(Tc,Ta,Tj,Pc) 本文是将我以前的<有关热阻问题>的文章重新梳理,按更严密的逻辑来讲解. 晶体管(或半导体)的热阻与温度.功耗之间的关系为: Ta=Tj-* ...
随机推荐
- 使用celery之怎么让celery跑起来
celery 官网帮助文档 http://docs.celeryproject.org/en/latest/index.html 前言 自从发了上次的文章使用celery之深入celery配置, 有 ...
- rcp(插件开发) 如何查找自己定义的扩展点
规则: 扩展点所在的插件ID(X)+扩展点的name(Y) 也就是 X.Y 具体代码 Platform.getExtensionRegistry().getExtensionPoint(X.Y).ge ...
- ARM备忘
mov: move sub: subtract cmp: compare cmpls: ls--->lower or same, le--->less or equal, hi---> ...
- MVC常见的控制器,接口,数据层之间的操作
user_books_info 类 namespace CiWong.LearningLevel.Mapping { public class user_books_info { /// <su ...
- 关于arcengine权限的设置
对于AE开发时候,如果调用arctoolbox中的部分功能,权限是arcview或者arceditor是无法执行的,因为权限不够. arcgis9.3的有3个权限arcview. arceditor. ...
- 使用entity framework开发oracle
A.vs2010 SP1 B.ODAC(http://www.oracle.com/technetwork/database/windows/downloads/index-101290.html) ...
- 从0开始LInux配置PHP开发环境
主要参考 http://www.cnblogs.com/Fly-sky/p/3770305.html 次要参考 http://www.cnblogs.com/mchina/archive/2012/1 ...
- 如何制作一个类似Tiny Wings的游戏 Cocos2d-x 2.1.4
在第一篇<如何使用CCRenderTexture创建动态纹理>基础上,增加创建动态山丘,原文<How To Create A Game Like Tiny Wings with Co ...
- 小C的树(Treap节点删除)[70/100]
用Treap暴力模拟,调常数~ 好了,接下来说一下Treap中的删除操作 Step 1:先找到这个结点. Step 2:如果它的儿子≤1,用它儿子替它 否则 把之后做根节点的儿子旋转到根 回到Step ...
- 中文格式python 打印json格式的数据中文显示问题
废话就不多说了,开始... 平日会有这么一个应用场景,会用python去处置json格式的web API,以“ip.taobao.com”的API为例,详情见http://ip.taobao.com/ ...