jquery.prompt.js 弹窗的使用
/***
* Prompt提示语插件
* 编写时间:2013年4月8号
* version:Prompt.1.0.js
* author:小宇<i@windyland.com>
***/
(function($){
$.extend({
PromptBox:{
defaults : {
name : "T"+ new Date().getTime(),
content :"This is tips!", //弹出层的内容(text文本、容器ID名称、URL地址、Iframe的地址)
width : 200, //弹出层的宽度
height : 70,
time:2000,//设置自动关闭时间,设置为0表示不自动关闭
bg:true
},
timer:{
stc:null,
clear:function(){
if(this.st)clearTimeout(this.st);
if(this.stc)clearTimeout(this.stc);
}
},
config:function(def){
this.defaults = $.extend(this.defaults,def);
},
created:false,
create : function(op){
this.created=true;
var ops = $.extend({},this.defaults,op);
this.element = $("<div class='Prompt_floatBoxBg' id='fb"+ops.name+"'></div><div class='Prompt_floatBox' id='"+ops.name+"'><div class='content'></div></div>");
$("body").prepend(this.element);
this.blank = $("#fb"+ops.name); //遮罩层对象
this.content = $("#"+ops.name+" .content"); //弹出层内容对象
this.dialog = $("#"+ops.name+""); //弹出层对象
if ($.browser.msie && ($.browser.version == "6.0") && !$.support.style) {//判断IE6
this.blank.css({height:$(document).height(),width:$(document).width()});
}
},
show:function(op){
this.dialog.show();
var ops = $.extend({},this.defaults,op);
this.content.css({width:ops.width});
this.content.html(ops.content);
var Ds = {
width:this.content.outerWidth(true),
height:this.content.outerHeight(true)
};
if(ops.bg){
this.blank.show();
this.blank.animate({opacity:"0.5"},"normal");
}else{
this.blank.hide();
this.blank.css({opacity:"0"});
}
this.dialog.css({
width:Ds.width,
height:Ds.height,
left:(($(document).width())/2-(parseInt(Ds.width)/2)-5)+"px",
top:(($(window).height()-parseInt(Ds.height))/2+$(document).scrollTop())+"px"
});
if ($.isNumeric(ops.time)&&ops.time>0){//自动关闭
this.timer.clear();
this.timer.stc = setTimeout(function (){
var DB = $.PromptBox;
DB.close();
},ops.time);
}
},
close:function(){
var DB = $.PromptBox;
DB.blank.animate({opacity:"0.0"},
"normal",
function(){
DB.blank.hide();
DB.dialog.hide();
});
DB.timer.clear();
}
},
Prompt:function(con,t,ops){
if(!$.PromptBox.created){$.PromptBox.create(ops);}
if($.isPlainObject(con)){
if(con.close){
$.PromptBox.close();
}else{
$.PromptBox.config(con);
}
return true;
}
ops = $.extend({},$.PromptBox.defaults,ops,{time:t});
ops.content = con||ops.content;
$.PromptBox.show(ops);
}
})
})(jQuery);
Prompt插件
jquery.prompt.js是一款基于jQuery的插件,只要是设置弹出层的效果包括登陆等。
/*弹出层插件样式开始*/
.Prompt_floatBoxBg{display:none;width:100%;height:100%;background:#000;position:fixed !important;/*ie7 ff*/position:absolute;top:0;left:0;filter:alpha(opacity=0);opacity:0; z-index:999;}
.Prompt_floatBox{
z-index:1000;
display: block;
position: absolute;
padding:6px;
text-align:center;
top: 404.5px;
left: 531.5px;
height: auto;
z-index: 10000;
word-wrap: break-word;
-webkit-box-shadow: rgba(0, 0, 0, 0.498039) 0px 0px 15px;
box-shadow: rgba(0, 0, 0, 0.498039) 0px 0px 15px;
border-top-left-radius: 6px;
border-top-right-radius: 6px;
border-bottom-right-radius: 6px;
border-bottom-left-radius: 6px;
background-color: white;
opacity: 1;
}
.Prompt_floatBox .content{padding:10px;background:#fff;overflow-x:hidden;overflow-y: auto;}
/*弹出层插件样式结束*/
这个样式在js里面调用css
这个CSS主要是通过弹框插件的js直接给通过加class的方式加上样式
演示代码:记得这个插件式依赖jquery的需要引入jquery.min.js文件
<script src="js/jquery-1.8.3.min.js" type="text/javascript"></script>
<script type="text/javascript" src="js/jquery.prompt.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("a[pid]").click(function(){
var pid = $(this).attr("pid");
eval($("#"+pid).html());
});
});
</script>
</head>
<body>
<br />
<br />
<br />
<center>
<div class="prompt_tmp">
<a class="a" pid="tmp1">直接按默认打开</a><br/>
<pre class="brush: jscript;" id="tmp1">$.Prompt();</pre>
</div>
<div class="prompt_tmp">
<a class="a" pid="tmp2">设置提示内容</a><br/>
<pre class="brush: jscript;" id="tmp2">$.Prompt("欢迎光临本站!");</pre> //class="brush: jscript;"只是把代码语法高亮的显示出来,与pre搭配使用
</div>
<div class="prompt_tmp">
<a class="a" pid="tmp3">设置自动关闭时间为4s</a><br/>
<pre class="brush: jscript;" id="tmp3">$.Prompt("欢迎光临本站!4S",4000);</pre>
</div>
<div class="prompt_tmp">
<a class="a" pid="tmp4">设置自动关闭时间为100s,然后在2s后强制关闭</a><br/>
<pre class="brush: jscript;" id="tmp4">
$.Prompt("欢迎光临本站!2S",100000);
setTimeout(function(){
$.Prompt({close:true});
},2000);
</pre>
</div>
<div class="prompt_tmp">
<a class="a" pid="tmp5">修改默认参数后,不带参数打开</a><br/>
<pre class="brush: jscript;" id="tmp5">
var def = {
content:"欢迎来到jq-school!",
time:1000
}
$.Prompt(def);
$.Prompt();
</pre>
</div>
参考:jq-school.com/Detail.aspx?id=227
补充说明:当使用jQuery1.8.3以上版本时可能出现弹框弹不出来的问题
QQ:1689986723
jquery.prompt.js 弹窗的使用的更多相关文章
- 一个简单的页面弹窗插件 jquery.pageMsgFrame.js
页面弹窗是网站中常用的交互效果,它可以强提示网站的某些信息给用户,或者作用于某些信息的修改等等功能. 这几天在做一个项目的时候,就顺捎把这个插件写一下,栽棵树,自己乘凉吧. 原创博文,转载请注明出处: ...
- cefsharp重写默认js弹窗(alert/confirm/prompt)
1.设置js弹窗控制器 webView.JsDialogHandler = this; //js弹窗控制 this表示本类对象,所以本类要实现IJsDialogHandler接口 2.实现IJsDi ...
- jQuery.validationEngine.js学习
项目中使用到了这个插件,抽了个空,看了一下. (function($){ var method ={} $.fn.validationEngine = function(){} $.validatio ...
- jquery 、 JS 脚本参数的认识与使用
jquery . JS 脚本参数的认识与使用 如何使用jquery刷新当前页面 下面介绍全页面刷新方法:有时候可能会用到 window.location.reload(); //刷新当前页面. par ...
- jQuery实现广告弹窗
首先设置一个固定的窗口位于右下角,效果如下: 代码: jQuery实现广告弹窗.html 之后将该窗口初始设为隐藏,通过代码实现3秒自动显示,5秒自动隐藏,其效果如下: <!DOCTYPE ht ...
- jQuery的dialog弹窗实现
jQuery实现dialog弹窗: html代码如下: <input type="button" onclick="performances();" va ...
- 图片上传(方法一:jquery.upload.js)
一.在JSP页面引入jquery.upload.js 文件: <script type="text/javascript" src="${ctx}/script/j ...
- 利用jquery.touchSwipe.js实现的移动滑屏效果。
利用jquery.touchSwipe.js实现的移动滑屏效果. 亲测:兼容ie8及各种浏览器 <script type="text/javascript" src=&quo ...
- jquery.cookie广告弹窗点击关闭后一天弹一次
jquery.cookie广告弹窗点击关闭后一天弹一次 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu ...
随机推荐
- JS 控制文本框只能输入中文、英文、数字与指定特殊符号
想做姓名输入的js判断是否是中文,但是网上找的很多是源于一篇文章的,判断中文的正则式不对,后来找到一个可以准确判断了,但是是监测里面有中文的就行,跟我想要的只能输入中文的意思相左,所以又找了下面的 J ...
- iOS通过UIAlertController弹出底部选择框来调用相机或者相册
UIAlertController *alertVc = [UIAlertController alertControllerWithTitle:nil message:nil preferredSt ...
- [Android]Log打印
package com.lurencun.android.system; import android.util.Log; public class ExLog { static final Stri ...
- javascript权威指南(中文版)中的一些错误(一)
本人目前正在学习js,使用的是javascript权威指南(中文版),学习的时候发现一些细节上的错误,若是我的错误,欢迎指正 1.P11------多了“我们称为 原文为 return Math.sq ...
- Oracle开发专题之:%TYPE 和 %ROWTYPE
1. 使用%TYPE 在许多情况下,PL/SQL变量可以用来存储在数据库表中的数据.在这种情况下,变量应该拥有与表列相同的类型.例如,students表的first_name列的类型为VARCHAR2 ...
- 自定义HBase的协处理器(Observer)
自定义一个Observer... 总共分五步: 1°.继承BaseMasterObserver (写代码 具体看博客....) 案例(当在HBase中创建表的时候在日志中有相关输出): impor ...
- 每天一道LeetCode--342. Power of Four
Given an integer (signed 32 bits), write a function to check whether it is a power of 4. Example:Giv ...
- TTTAttributedLabel 如何将多个字符串高亮显示
TTTAttributedLabel进行多个字符串的高亮显示. 需要对每个字符串进行匹配,从而得到所有需要高亮的NSRange,然后利用NSMutableAttributedString对每个NSRa ...
- 关于 angular 小心得
心得1: //控制器里面的代码会晚一些执行 setTimeout(function(){ //获取对象的scope var ele = document.querySelector('[ng-cont ...
- UVALive 6811 Irrigation Line(二分图最小点覆盖--匈牙利算法)
题意:求最少的线可以覆盖一个由0.1两种数字组成的图中所有的1. eg: 只需要两条线即可. 分析: 1.先为上述例子的行列标号 2.若图中数字为1,则代表该数字所在的行与列有关联. 例如第r1行第c ...