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 相关文章推荐
基于jQuery的淡入淡出可自动切换的幻灯插件打包下载
Sep 15 Javascript
简单的Jquery全选功能
Nov 07 Javascript
node.js中的path.dirname方法使用说明
Dec 09 Javascript
jquery计算鼠标和指定元素之间距离的方法
Jun 26 Javascript
关于微信中a链接无法跳转问题
Aug 02 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
Nov 22 Javascript
vue实现随机验证码功能的实例代码
Apr 30 Javascript
TypeScript类型声明书写详解
Aug 28 Javascript
vue引用外部JS的两种种方法
Jan 28 Javascript
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
Apr 01 jQuery
JavaScript实现简单的弹窗效果
May 19 Javascript
js+audio实现音乐播放器
Sep 13 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
php自定义函数截取汉字长度
2014/05/15 PHP
Symfony2实现在doctrine中内置数据的方法
2016/02/05 PHP
php阳历转农历优化版
2016/08/08 PHP
php操作redis常见方法示例【key与value操作】
2020/04/14 PHP
Laravel Reponse响应客户端示例详解
2020/09/03 PHP
javascript编程起步(第五课)
2007/02/27 Javascript
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用
2014/11/23 Javascript
基于jQuery实现的图片切换焦点图整理
2014/12/07 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
如何用JavaScript实现动态修改CSS样式表
2016/05/20 Javascript
jQuery基于ajax操作json数据简单示例
2017/01/05 Javascript
JavaScript实现跟随滚动缓冲运动广告框
2017/07/15 Javascript
Vue使用Canvas绘制图片、矩形、线条、文字,下载图片
2019/04/26 Javascript
解决vue-photo-preview 异步图片放大失效的问题
2020/07/29 Javascript
Ant Design的Table组件去除
2020/10/24 Javascript
[13:18]《一刀刀一天》之DOTA全时刻21:详解TI新赛制 A队再露獠牙
2014/06/24 DOTA
python使用Berkeley DB数据库实例
2014/09/26 Python
RC4文件加密的python实现方法
2015/06/30 Python
Python urls.py的三种配置写法实例详解
2017/04/28 Python
Python基于dom操作xml数据的方法示例
2018/05/12 Python
python2.x实现人民币转大写人民币
2018/06/20 Python
python查看模块安装位置的方法
2018/10/16 Python
详解如何管理多个Python版本和虚拟环境
2019/05/10 Python
python实战串口助手_解决8串口多个发送的问题
2019/06/12 Python
解决django 新增加用户信息出现错误的问题
2019/07/28 Python
python装饰器练习题及答案
2019/11/01 Python
selenium+python实现基本自动化测试的示例代码
2021/01/27 Python
公司活动策划方案
2014/01/13 职场文书
文明礼貌演讲稿
2014/05/12 职场文书
公司股东合作协议书
2014/09/14 职场文书
企业务虚会发言材料
2014/10/20 职场文书
乡镇领导班子四风整顿行动工作汇报
2014/10/25 职场文书
初中家长评语大全
2014/12/26 职场文书
高一作文之暖冬
2019/11/09 职场文书
Java输出Hello World完美过程解析
2021/06/13 Java/Android