php jquery 弹窗提示框,jQuery实现简单的弹出窗口实例

本文主要为大家详细介绍了jQuery弹出窗口的简单实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能版助到大家。

今天讲了Jquery的弹出窗口的组成和用法:

先把引用文件的代码写好:// 每个弹窗的标识

var x =0;

var idzt = new Array();

var Window = function(config){

//ID不重复

idzt[x] = "zhuti"+x; //弹窗ID

//初始化,接收参数

this.config = {

width : config.width || 300, //宽度

height : config.height || 200, //高度

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, //是否移动

};

//加载弹出窗口

var w = ($(window).width()-this.config.width)/2;

var h = ($(window).height()-this.config.height)/2;

var nr = "

$("body").append(nr);

//加载弹窗标题

var content ="

"+this.config.title+"

×

";

//加载弹窗内容

var nrh = this.config.height - 75;

content = content+"

"+this.config.content+"

";

//加载按钮

content = content+"

"+this.config.buttons+"

";

//将标题、内容及按钮添加进窗口

$('#'+idzt[x]).html(content);

//创建遮罩层

if(this.config.isMask)

{

var zz = "

$("body").append(zz);

$("#zz").css('display','block');

}

//最大最小限制,以免移动到页面外

var maxX = $(window).width()-this.config.width;

var maxY = $(window).height()-this.config.height;

var minX = 0,

minY = 0;

//窗口移动

if(this.config.isDrag)

{

//鼠标移动弹出窗

$(".title").bind("mousedown",function(e){

var n = $(this).attr("bs"); //取标识

//使选中的到最上层

$(".zhuti").css("z-index",3);

$('#'+idzt[n]).css("z-index",4);

//取初始坐标

var endX = 0, //移动后X坐标

endY = 0, //移动后Y坐标

startX = parseInt($('#'+idzt[n]).css("left")), //弹出层的初始X坐标

startY = parseInt($('#'+idzt[n]).css("top")), //弹出层的初始Y坐标

downX = e.clientX, //鼠标按下时,鼠标的X坐标

downY = e.clientY; //鼠标按下时,鼠标的Y坐标

//绑定鼠标移动事件

$("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 < 0)

{

endX = 0;

}

if(endY > maxY)

{

endY = maxY;

} else if(endY < 0)

{

endY = 0;

}

$('#'+idzt[n]).css("top",endY+"px");

$('#'+idzt[n]).css("left",endX+"px");

window.getSelection ? window.getSelection().removeAllRanges():document.selection.empty(); //取消选中文本

});

});

//鼠标按键抬起,释放移动事件

$("body").bind("mouseup",function(){

$("body").unbind("mousemove");

});

}

//关闭窗口

$(".close").click(function(){

var m = this.getAttribute("bs"); //找标识

$('#'+idzt[m]).remove(); //移除弹窗

$('#zz').remove(); //移除遮罩

})

x++; //标识增加

}

这个JS文件把弹出窗口的内容,样式,位置,按钮,以及遮罩层都做了处理,在引用前好好看看里面的代码,最好都能弄懂,里面也做了详细的注释,希望可以帮的你。

下面是CSS样式表:.zhuti

{

position:absolute;

z-index:3;

font-size:14px;

border-radius:5px;

box-shadow:0 0 5px white;

overflow:hidden;

color:#333;

}

.title

{

background-color:#3498db;

vertical-align:middle;

height:35px;

width:100%;

line-height:35px;

text-indent:1em;

}

.close{

float:right;

width:35px;

height:35px;

font-weight:bold;

line-height:35px;

vertical-align:middle;

color:white;

font-size:18px;

}

.close:hover

{

cursor:pointer;

}

.content

{

text-indent:1em;

padding-top:10px;

}

.btnx

{

height:30px;

width:100%;

text-indent:1em;

}

.btn

{

height:28px;

width:80px;

float:left;

margin-left:20px;

color:#333;

}

#zz

{

width:100%;

height:100%;

opacity:0.15;

display:none;

background-color:#ccc;

z-index:2;

position:absolute;

top:0px;

left:0px;

}

这个样式表把每个标签和所需要的样式都写好了,这样就能节省主要页面的代码量,并且让主页面看起来非常的整齐,如果要改,只需要在CSS样式表中修改即可,注意:不管要引用什么文件,必须把Jquery文件放在最前面!!!

下面是主页面代码:

无标题文档

*{

margin: 0px auto;

}

$(document).ready(function(e) {

$('#btntc').click(function(){

var html = "

这是测试的弹窗

";

var button ="";

var win = new Window({

width : 400, //宽度

height : 300, //高度

title : '测试弹窗', //标题

content : html, //内容

isMask : false, //是否遮罩

buttons : button, //按钮

isDrag:true, //是否移动

});

})

});

同样的,主页面里面也加了详细的注释,这样便于日后的理解,希望可以帮的自己和大家。让我们看看效果吧:

7c0ef9a711d227651b83051e43eacdf5.png

点击弹出窗口之后的效果:

9f5a5a827c640a23c47b4828474e6f93.png

4d34a44ea0808b890b680702438f6a8a.png

我们可以看到每个弹出窗口都可以移动,并且可以弹出无数个窗口,如果把遮罩层改成true,那样就不能再出现第二个弹出窗口了。

一定要记住遮罩层的实用,这样可以避免很多BUG如果要引用弹出窗口一定要测试好了再使用,以防出现问题,切记!

相关推荐:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值