仿javascript中confirm()方法的小插件

  10天没有写博客了,不知道为什么,心里感觉挺不舒服的,可能这是自己给自己规定要去完成的事情,没有按照计划执行,总会心里不怎么舒服。最近事情挺多的,终于今天抽空来更新一下博客了。

  今天写的是一个小插件。平时我们习惯于使用javascript中自带的confirm()函数做出一个弹窗的效果,但是问题在于这样的弹窗非常不美观,大大降低了网页的整体效果。

  好吧废话不多说,首先先来了解一下confirm()函数,下面应该注释得很清楚了。

if(confirm("我们去阿里转山吧,好吗?")){//想alert()方法一样,会弹出参
//数内容,不同的是,点击确定时会返回true,取消时会返回false
    alert("好呀!那我们是不是应该准备点什么?");
//点击确定时执行的语句
}else{
    alert("西藏有什么好玩的呀!还不如出国溜溜...");
//点击取消时执行的语句
}

  下面是我自己编写的一个小插件,先上css

 .show_info_contain {
position: fixed;
top: 50%;
left: 50%;
margin-left: -200px;
margin-top: -100px;
background-color: #000;
border: #9E9E9E 1px solid;
border-radius: 3px;
width: 400px;
height: 200px;
color:#fff;
}
.show_info_tittle {
height: 40px;
line-height: 40px;
background-color: #333333;
border-bottom: 1px solid #FFF;
text-align: center;
font-size: 16px;
}
.show_info_content {
padding: 20px;
font-size: 16px;
text-align: center;
margin-top: 20px;
}
.tr {
text-align: right;
}
.btn_green1 {
padding: 8px 16px;
border-radius: 2px;
color: #333;
text-decoration: none;
font-size: 16px;
display:inline-block;

}
.green{
  background-color: #90EB6A;
  margin-right:75px;
}
.green:hover{
  background-color: gray;
  color:#fff;
}
.red{
  background-color: #EC6868;
  margin-right:80px;
}
.red:hover{
  background-color: gray;
  color:#fff;
}
.show_info_confirm_cancel{
 margin-top:20px;
}

然后是javascript

function show_confirm(info,callback){//两个参数:info为需要显示的内容,callback为回调函数
    var content=‘<div class="show_info_contain" id="contain-info-show">‘
            +‘<div class="show_info_tittle">Prompt</div>‘
            +‘<div class="show_info_content">‘+info+‘</div>‘
            +‘<div class="show_info_confirm_cancel tr" id="show_info_confirm_cancel"><a href="javascript:void(0);" id="confirm-info-show" class="btn_green1 green">confirm</a><a href="javascript:void(0);" id="cancel-info-show" class="btn_green1 red">cancel</a></div>‘
            +‘</div>‘;
    $(‘body‘).append(content);
    $(‘#show_info_confirm_cancel‘).click(function(e){
     if(e.target==$("#confirm-info-show")[0]){
           $(‘#contain-info-show‘).remove();
           callback.call(this,true);
     }else if(e.target==$("#cancel-info-show")[0]){
     $(‘#contain-info-show‘).remove();
 callback.call(this,false);
     }
   });
}

调用方式

show_confirm("我们去阿里转山,好吗?",function(result){
 if(result==true){
 alert("好啊,我们应该准备点什么?");
 }else{
 alert("西藏有什么好玩的呀!不如出国溜溜...");
 }
});

效果图展示

仿javascript中confirm()方法的小插件

时间: 2024-10-10 15:42:23

仿javascript中confirm()方法的小插件的相关文章

Javascript中的方法和匿名方法

Javascript方法(函数) 声明函数 以function开头,后跟函数名,与C#.java不同,Javascript不需要声明返回值类型.参数类型.没有返回值就是undefined. 举个栗子更清楚:  无参数无返回值的方法: function f1(){ alert('这是一个方法'); } f1();//调用方法 无参数有返回值的方法: function f2(){ return 100; } var result=f2();//声明一个变量,接收f1()中的返回值 alert(res

JavaScript中易犯的小错误-------常见错误五:低效的DOM操作

JavaScript中易犯的小错误-------常见错误五:低效的DOM操作js中的DOM基本操作非常简单,但是如何能有效地进行这些操作一直是一个难题.这其中最典型的问题便是批量增加DOM元素.增加一个DOM元素是一步花费很大的操作.而批量增加对系统的花销更是不菲.一个比较好的批量增加的办法便是使用 document fragments :var div = document.getElementsByTagName("my_div");var fragment = document.

JavaScript中易犯的小错误-------常见错误三:内存泄露

国庆放假,今天开始继续!!!!!!!!!!! JavaScript中易犯的小错误-------常见错误三:内存泄露 内存泄露在js变成中几乎是一个无法避免的问题.如果不是特别细心的话,在最后的检查过程中,肯定会出现各种内存泄露问题.下面我们就来举例说明一下:var theThing = null;var replaceThing = function () {     var priorThing = theThing;     var unused = function () {       

JavaScript中易犯的小错误-------常见错误四:比较运算符

JavaScript中易犯的小错误-------常见错误四:比较运算符JavaScript中一个比较便捷的地方,便是它可以给每一个在比较运算的结果变量强行转化成布尔类型.但是从另一方面来考虑,有时候它也会为我们带来很多不便,下面的这些例子便是一些一直困扰很多程序员的代码实例:console.log(false == '0');console.log(null == undefined);console.log(" \t\r\n" == 0);console.log('' == 0);

JavaScript中易犯的小错误-------常见错误七:原型继承问题

JavaScript中易犯的小错误-------常见错误七:原型继承问题 很大一部分的js开发者都不能完全掌握原型的继承问题.下面具一个例子来说明:BaseObject = function(name) {if(typeof name !== "undefined"){ this.name = name; }else{ this.name = 'default' } };这段代码看起来很简单.如果你有name值,则使用它.如果没有,则使用 ‘default’:var firstObj

javascript中splice()方法的用法

在javascript中splice()方法,是一个很强的数组方法,它有多种用法. splice()主要用途是向数组的中部插入项. 有如下3种方式: 删除--可以删除任意数量的项,只需要指定2个参数:要删除的第一项的位置和要删除项的项数. 例如,splice(0,2)会删除数组中的前两项. 插入--可以向指定位置插入任意数量的项,只需要提供3个参数:骑士位置.0(要删除的项数)和要插入的项. 如果要插入多个项,可以再传入第四.第五,一直任意多个项. 例如,splice(2,1,"red"

JavaScript中易犯的小错误-------常见错误二:传统编程语言的生命周期误区

JavaScript中易犯的小错误-------常见错误二:传统编程语言的生命周期误区另一种易犯的错误,便是带着其他编程语言的思维,认为在JS中,也存在生命周期这么一说.请看下面的代码:for (var i = 0; i < 10; i++) { /* ... */ } console.log(i);如果你认为在运行console.log() 时肯定会报出 undefined 错误,那么你就大错特错了.我会告诉你其实它会返回 10吗.当然,在许多其他语言当中,遇到这样的代码,肯定会报错.因为i明

javaScript中eval()方法转换json对象

原文:javaScript中eval()方法转换json对象 <script language="javascript"> var user = '{name:"张三",age:23,'+ 'address:{city:"青岛",zip:"266071"},'+ 'email:"[email protected]",'+ 'showInfo:function(){'+ 'document.wri

详解 JavaScript 中 splice() 方法

splice() 方法是一个比较少用的方法,但是功能确实很好,并且在我们 coding 的时候,经常有需要 splice() 方法,先介绍一下该方法. 在 JavaScript 中 splice() 方法,是一个很强的数组方法,它有多种用法. splice() 方法主要用来向数组中添加新的值. 1.删除(需要2个参数,第一个参数为"起始位",第二个参数表示删除多少个) 1 //创建数组 2 var array = []; 3 //添加值 4 array.push(1); 5 array