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 相关文章推荐
javascript 日期时间函数(经典+完善+实用)
May 27 Javascript
判断文档离浏览器顶部的距离的方法
Jan 08 Javascript
js利用事件的阻止冒泡实现点击空白模态框的隐藏
Jan 24 Javascript
jQuery点击改变class并toggle及toggleClass()方法定义用法
Dec 11 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
May 27 Javascript
select隐藏选中值对应的id,显示其它id的简单实现方法
Aug 25 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
Sep 28 Javascript
Vue.js实现拖放效果的实例
Sep 30 Javascript
Vue父子组建的简单通信之控制开关Switch的实现
Jun 04 Javascript
JavaScript实现的联动菜单特效示例
Jul 08 Javascript
vue首次渲染全过程
Apr 21 Vue.js
小程序实现侧滑删除功能
Jun 25 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 函数中使用static的说明
2012/06/01 PHP
Php output buffering缓存及程序缓存深入解析
2013/07/15 PHP
php生成图形验证码几种方法小结
2013/08/15 PHP
php读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
Stop SQL Server
2007/06/21 Javascript
按给定几率进行随机抽取的js代码
2010/12/28 Javascript
asp.net刷新本页面的六种方法总结
2014/01/07 Javascript
JavaScript操作DOM元素的childNodes和children区别
2015/04/01 Javascript
轻松实现JavaScript图片切换
2016/01/12 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
浅析location.href跨窗口调用函数
2016/11/22 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
2017/01/08 Javascript
JavaScript轮播图简单制作方法
2017/02/20 Javascript
vue-resource 拦截器使用详解
2017/02/21 Javascript
Bootstrap table中toolbar新增条件查询及refresh参数使用方法
2018/05/18 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
详解Vue.directive 自定义指令
2019/03/27 Javascript
微信小程序传值以及获取值方法的详解
2019/04/29 Javascript
js 将线性数据转为树形的示例代码
2019/05/28 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
2019/10/25 Javascript
Vue实现验证码功能
2019/12/03 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
2020/08/31 Javascript
Python统计文件中去重后uuid个数的方法
2015/07/30 Python
利用Python绘制Jazz网络图的例子
2019/11/21 Python
python3爬虫中异步协程的用法
2020/07/10 Python
html5 Canvas画图教程(1)—画图的基本常识
2013/01/09 HTML / CSS
TripAdvisor越南:全球领先的旅游网站
2017/09/21 全球购物
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
介绍一下linux的文件权限
2014/07/20 面试题
《学会合作》教学反思
2014/04/12 职场文书
孝敬父母的活动方案
2014/08/28 职场文书
《领导干部从政道德启示录》学习心得体会
2016/01/20 职场文书
python实现腾讯滑块验证码识别
2021/04/27 Python
PostgreSQL基于pgrouting的路径规划处理方法
2022/04/18 PostgreSQL