js确认删除对话框效果的示例代码


Posted in Javascript onFebruary 20, 2014

效果如下:

js确认删除对话框效果的示例代码

css文件delcss.css

代码如下:

*{ margin:0; padding:0;}
#div1{ width:300px; height:100px; border-radius:10px; background:#f60; box-shadow:5px 5px 10px #ccc; position:absolute; left:50%; margin-left:-150px; z-index:2; opacity:0; filter:alpha(opacity:0); display:none;}
#div1 h3{ height:20px; background:#60f;}
#overlay{ width:100%; height:100%; background:#ccc; position:absolute; left:0; top:0; opacity:0; z-index:1; display:none;}
#closeConfirm{ width:80px; height:20px; line-height:20px; background:#ccc; border-radius:5px; display:block; text-decoration:none; color:#000; text-align:center; position:absolute; bottom:10px; right:10px;}
#trueConfirm{width:80px; height:20px; line-height:20px; background:#ccc; border-radius:5px; display:block; text-decoration:none; color:#000; text-align:center; position:absolute; bottom:10px; right:100px;}
#confirmCon{ text-align:center; color:#ccc; height:40px; line-height:40px;}

js文件confirmPop.js

代码如下:

function ConfirmPop(delObj,confirmMain,overlay,binkTitle,closeConfirm,trueConfirm){
    this.oDelObj=document.getElementById(delObj);
    this.oDiv=document.getElementById(confirmMain);
    this.oOverlay=document.getElementById(overlay);
    this.oTitle=document.getElementById(binkTitle);
    this.oCloseConfirm=document.getElementById(closeConfirm);
    this.oTrueConfirm=document.getElementById(trueConfirm);
    this.oConStart=0;
    this.oConItarget=0;
    this.init();
}
ConfirmPop.prototype={
    init:function(){
        this.oConStart=parseInt((document.documentElement.clientHeight-this.oDiv.offsetHeight)/2-100);
        this.oConItarget=parseInt((document.documentElement.clientHeight-this.oDiv.offsetHeight)/2-70);
        this.oDiv.style.top=this.oConStart+'px';
        document.title=this.oConStart+', '+this.oConItarget;
        var _this=this;
        this.oDelObj.onclick=function(){
            _this.confirmShow();
        }
        this.oOverlay.onclick=function(){
            _this.titleBink();
        }
        this.oCloseConfirm.onclick=this.oTrueConfirm.onclick=function(){
            _this.confirmHide();
        }    },
    confirmShow:function(){
        this.oOverlay.style.display='block';
        this.oDiv.style.display='block';
        striveMove(this.oOverlay,{ opacity:30});
        striveMove(this.oDiv,{top:this.oConItarget, opacity:100})
    },
    titleBink:function(){
        var _this=this;
        var iLightTimer=null;
        var i=0;
        iLightTimer=setInterval(function(){
            if(i%2){
                _this.oTitle.style.background='#60f';
            }else{
                _this.oTitle.style.background='#ccc';    
            }
            i++;
            if(i>5){
                clearInterval(iLightTimer);
            }
        },50)    
    },
    confirmHide:function(){
        striveMove(this.oOverlay,{opacity:0});
        this.oOverlay.style.display='none';
        striveMove(this.oDiv,{top:this.oConStart, opacity:0});    
    }
}
function  striveMove(obj,json,fn){clearInterval(obj.iTimer);obj.iTimer=setInterval(function(){var  bStop=true;for(var  attr  in  json){var  iCur=0;if(attr=='opacity'){iCur=Math.round(parseFloat(getStyle(obj,attr))*100);}else{iCur=parseInt(getStyle(obj,attr));}var  iSpeed=(json[attr]-iCur)/8;iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);if(attr=='opacity'){obj.style.filter='alpha(opacity:'+(iCur+iSpeed)+')';obj.style.opacity=(iCur+iSpeed)/100;}else{obj.style[attr]=iCur+iSpeed+'px';}if(iCur!==json[attr]){bStop=false;}}if(bStop){clearInterval(obj.iTimer);if(fn){fn();}}},30)}function  getStyle(obj,attr){return  obj.currentStyle?obj.currentStyle[attr]:getComputedStyle(obj,false)[attr];}

使用方法

1.引入文件

<link rel="stylesheet" type="text/css" href="delcss.css"/>
<script src="confirmPop.js"></script>

2.调用方法
<script>
window.onload=window.onresize=function(){
    new ConfirmPop('btn','div1','overlay','title','closeConfirm','trueConfirm');
}
</script>

3.做好准备工作
<div id="div1">
    <h3 id="title"></h3>
    <div id="confirmCon">
        您确定要进行删除操作么?
    </div>
    <a href="###" id="trueConfirm">确定</a>
    <a href="###" id="closeConfirm">取消</a>
</div>
<div id="overlay"></div>

这段代码是提供空间的,自己写的div代码。其中确定框中的a标签中,可以把删除的地址填入其中。点击确定时,就跳转到删除的页面方法中了。

这段代码可以放入任何位置。不占空间。作者很犀利。

4.导火线,触发器

<a  id="btn" ><img src="/images/default/right/ico_del.gif" /></a>

将删除图标加上id="btn",这样就会触发删除效果了。

如果想修改样式,可以到css中进行修改,调整。

小结:这样的js删除就比浏览器自带的弹出框美观一些了。作者用短短3k的js就写出这种效果,真心厉害。

ps,我只是拿来的。

缺点,只能针对一个内容,进行删除。因为所有的都是针对id的,单一化了。

Javascript 相关文章推荐
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
Nov 12 Javascript
添加JavaScript重载函数的辅助方法2
Jul 04 Javascript
JavaScript中的面向对象介绍
Jun 30 Javascript
使用CSS和jQuery模拟select并附提交后取得数据的代码
Oct 18 Javascript
node.js中的fs.openSync方法使用说明
Dec 17 Javascript
使用javascript实现简单的选项卡切换
Jan 09 Javascript
JavaScript插件化开发教程 (三)
Jan 27 Javascript
jquery ztree异步搜索(搜叶子)实践
Feb 25 Javascript
浅谈javascript中遇到的字符串对象处理
Nov 18 Javascript
利用Ionic2 + angular4实现一个地区选择组件
Jul 27 Javascript
Angular异步变同步处理方法
Aug 13 Javascript
vue中v-model对select的绑定操作
Aug 31 Javascript
多种方法实现load加载完成后把图片一次性显示出来
Feb 19 #Javascript
jquery无刷新验证邮箱地址实现实例
Feb 19 #Javascript
js左右弹性滚动对联广告代码分享
Feb 19 #Javascript
javascript异步编程的4种方法
Feb 19 #Javascript
点击显示指定元素隐藏其他同辈元素的方法
Feb 19 #Javascript
javascript函数重载解决方案分享
Feb 19 #Javascript
一个CSS+jQuery实现的放大缩小动画效果
Feb 19 #Javascript
You might like
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
PHP中动态显示签名和ip原理
2007/03/28 PHP
php正则表达式(regar expression)
2011/09/10 PHP
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
2012/07/02 PHP
PHP获取数组最后一个值的2种方法
2015/01/21 PHP
PHP实现的常规正则验证helper公共类完整实例
2017/04/27 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
2017/05/20 PHP
php日志函数error_log用法实例分析
2019/09/23 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
完整显示当前日期和时间的JS代码
2007/09/17 Javascript
JS控件的生命周期介绍
2012/10/22 Javascript
IE6下opacity与JQuery的奇妙结合
2013/03/01 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
JavaScript 作用域链解析
2014/11/13 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
基于BootStrap的前端分页带省略号和上下页效果
2017/05/18 Javascript
Js中将Long转换成日期格式的实现方法
2018/06/05 Javascript
js设置鼠标悬停改变背景色实现详解
2019/06/26 Javascript
axios封装与传参示例详解
2020/10/18 Javascript
[02:48]DOTA2英雄基础教程 暗夜魔王
2013/12/12 DOTA
Python中使用摄像头实现简单的延时摄影技术
2015/03/27 Python
从请求到响应过程中django都做了哪些处理
2018/08/01 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
2019/09/04 Python
python logging设置level失败的解决方法
2020/02/19 Python
python list等分并从等分的子集中随机选取一个数
2020/11/16 Python
python中判断数字是否为质数的实例讲解
2020/12/06 Python
python 日志模块logging的使用场景及示例
2021/01/04 Python
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
中专生学习生活的自我评价分享
2013/10/27 职场文书
服装设计行业个人的自我评价
2013/12/20 职场文书
教师绩效考核方案
2014/01/21 职场文书
王老吉广告词
2014/03/20 职场文书
父母寄语大全
2014/04/12 职场文书
linux下安装redis图文详细步骤
2021/12/04 Redis
Tomcat starup.bat 脚本实现开机自启动
2022/04/20 Servers