`
vtyi
  • 浏览: 83489 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

js dialog

阅读更多

// global variables //
var TIMER = 5;
var SPEED = 10;
var WRAPPER = 'content';

// calculate the current window width //
function pageWidth() {
  return window.innerWidth != null ? window.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null;
}

// calculate the current window height //
function pageHeight() {
  return window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null;
}

// calculate the current window vertical offset //
function topPosition() {
  return typeof window.pageYOffset != 'undefined' ? window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0;
}

// calculate the position starting at the left of the window //
function leftPosition() {
  return typeof window.pageXOffset != 'undefined' ? window.pageXOffset : document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ? document.body.scrollLeft : 0;
}

// build/show the dialog box, populate the data and call the fadeDialog function //
function showDialog(title,message,type,autohide) {
  if(!type) {
    type = 'error';
  }
  var dialog;
  var dialogheader;
  var dialogclose;
  var dialogtitle;
  var dialogcontent;
  var dialogmask;
  if(!document.getElementById('dialog')) {
    dialog = document.createElement('div');
    dialog.id = 'dialog';
    dialogheader = document.createElement('div');
    dialogheader.id = 'dialog-header';
    dialogtitle = document.createElement('div');
    dialogtitle.id = 'dialog-title';
    dialogclose = document.createElement('div');
    dialogclose.id = 'dialog-close'
    dialogcontent = document.createElement('div');
    dialogcontent.id = 'dialog-content';
    dialogmask = document.createElement('div');
    dialogmask.id = 'dialog-mask';
    document.body.appendChild(dialogmask);
    document.body.appendChild(dialog);
    dialog.appendChild(dialogheader);
    dialogheader.appendChild(dialogtitle);
    dialogheader.appendChild(dialogclose);
    dialog.appendChild(dialogcontent);;
    dialogclose.setAttribute('onclick','hideDialog()');
    dialogclose.onclick = hideDialog;
  } else {
    dialog = document.getElementById('dialog');
    dialogheader = document.getElementById('dialog-header');
    dialogtitle = document.getElementById('dialog-title');
    dialogclose = document.getElementById('dialog-close');
    dialogcontent = document.getElementById('dialog-content');
    dialogmask = document.getElementById('dialog-mask');
    dialogmask.style.visibility = "visible";
    dialog.style.visibility = "visible";
  }
  dialog.style.opacity = .00;
  dialog.style.filter = 'alpha(opacity=0)';
  dialog.alpha = 0;
  var width = pageWidth();
  var height = pageHeight();
  var left = leftPosition();
  var top = topPosition();
  var dialogwidth = dialog.offsetWidth;
  var dialogheight = dialog.offsetHeight;
  var topposition = top + (height / 3) - (dialogheight / 2);
  var leftposition = left + (width / 2) - (dialogwidth / 2);
  dialog.style.top = topposition + "px";
  dialog.style.left = leftposition + "px";
  dialogheader.className = type + "header";
  dialogtitle.innerHTML = title;
  dialogcontent.className = type;
  dialogcontent.innerHTML = message;
  var content = document.getElementById(WRAPPER);
  dialogmask.style.height = content.offsetHeight + 'px';
  dialog.timer = setInterval("fadeDialog(1)", TIMER);
  if(autohide) {
    dialogclose.style.visibility = "hidden";
    window.setTimeout("hideDialog()", (autohide * 1000));
  } else {
    dialogclose.style.visibility = "visible";
  }
}

// hide the dialog box //
function hideDialog() {
  var dialog = document.getElementById('dialog');
  if(!dialog.timer) {
    dialog.timer = setInterval("fadeDialog(0)", TIMER);
  }
}

// fade-in the dialog box //
function fadeDialog(flag) {
  if(flag == null) {
    flag = 1;
  }
  var dialog = document.getElementById('dialog');
  var value;
  if(flag == 1) {
    value = dialog.alpha + SPEED;
  } else {
    value = dialog.alpha - SPEED;
  }
  dialog.alpha = value;
  dialog.style.opacity = (value / 100);
  dialog.style.filter = 'alpha(opacity=' + value + ')';
  if(value >= 99) {
    clearInterval(dialog.timer);
    dialog.timer = null;
  } else if(value <= 1) {
    dialog.style.visibility = "hidden";
    document.getElementById('dialog-mask').style.visibility = "hidden";
    clearInterval(dialog.timer);
  }
}

css:

body {margin:0; font-family:Verdana, Arial, Helvetica; font-size:14px}
#content {padding:20px}
#dialog {position:absolute; width:425px; padding:10px; z-index:200; background:#fff}
#dialog-header {display:block; position:relative; width:411px; padding:3px 6px 7px; height:14px; font-size:14px; font-weight:bold}
#dialog-title {float:left}
#dialog-close {float:right; cursor:pointer; margin:3px 3px 0 0; height:11px; width:11px; background:url(images/dialog_close.gif) no-repeat}
#dialog-content {display:block; height:160px; padding:6px; color:#666666; font-size:13px}
#dialog-mask {position:absolute; top:0; left:0; min-height:100%; width:100%; background:#FFF; opacity:.75; filter:alpha(opacity=75); z-index:100}
.error {background:#fff url(images/error_bg.jpg) bottom right no-repeat; border:1px solid #924949; border-top:none}
.errorheader {background:url(images/error_header.gif) repeat-x; color:#6f2c2c; border:1px solid #924949; border-bottom:none}
.warning {background:#fff url(images/warning_bg.jpg) bottom right no-repeat; border:1px solid #c5a524; border-top:none}
.warningheader {background:url(images/warning_header.gif) repeat-x; color:#957c17; border:1px solid #c5a524; border-bottom:none}
.success {background:#fff url(images/success_bg.jpg) bottom right no-repeat; border:1px solid #60a174; border-top:none}
.successheader {background:url(images/success_header.gif) repeat-x; color:#3c7f51; border:1px solid #60a174; border-bottom:none}
.prompt {background:#fff url(images/prompt_bg.jpg) bottom right no-repeat; border:1px solid #4f6d81; border-top:none}
.promptheader {background:url(images/prompt_header.gif) repeat-x; color:#355468; border:1px solid #4f6d81; border-bottom:none}

//

<a href="javascript:showDialog('Error','You have encountered a critical error.','error',2);">Error</a> |
<a href="javascript:showDialog('Warning','You must enter all required information.','warning');">Warning</a> |
<a href="javascript:showDialog('Success','Your request has been successfully received.','success');">Success</a> |
<a href="javascript:showDialog('Confirmation','Are you sure you want to delete the entry?','prompt');">Prompt</a>

分享到:
评论

相关推荐

    JavaScript Dialog

    2. **artDialog.source.js** 和 **jquery.artDialog.source.js**:这两个文件可能是Dialog库的源代码版本,其中`artDialog`是独立的JavaScript实现,而`jquery.artDialog`则是基于jQuery库的扩展版本。它们提供了...

    原生js Dialog对话框插件制作19种对话框弹出层拖动

    在JavaScript的世界里,Dialog对话框是一种常见的用户交互方式,它用于显示警告、确认或提供信息。本主题将深入探讨如何使用原生JavaScript实现一个具备19种不同类型的对话框插件,同时支持对话框的拖动功能。我们将...

    js实现的dialog

    首先,`lhgdialog` 文件可能是实现 Dialog 的核心库,而 `lhgcore.js` 可能是该库的基础组件或核心功能模块。这两个文件通常包含自定义的 JavaScript 函数和类,用于构建弹出对话框的功能。`flash片头之家.htm` 文件...

    js dialog弹窗组件

    JavaScript(简称JS)是一种广泛用于网页和网络应用的编程语言,尤其在前端开发中起着核心作用。在JS中,`dialog`对话框组件是一种常见的用户交互元素,它用于显示警告、确认信息或者进行简单的输入操作。在网页设计...

    asp.net mvc core 使用js dialog对话框

    本篇文章将深入探讨如何在ASP.NET MVC Core中使用JS Dialog对话框,以及相关的JavaScript库和技术。 首先,JS Dialog对话框通常指的是JavaScript中的模态对话框,如jQuery UI的Dialog组件。jQuery UI是一个流行的...

    非常有用的js dialog

    在本案例中,"非常有用的js dialog" 提供了一个自定义的JavaScript对话框实现。 CSS(Cascading Style Sheets)用于描述HTML或XML(包括如SVG、MathML等各种XML方言)文档的呈现。在创建对话框时,CSS用于定义...

    jsdialog_脚本实例_

    Collect some very practical and beautiful pop-up layer effect (compatible with the mainstream browsers) can be some of the the window contents or functions

    jQuery.dialog.js网页弹出对话框美化特效插件

    《jQuery.dialog.js:网页弹出对话框的美化与特效实现》 在网页设计中,对话框(dialog)是一种常见的交互元素,用于展示重要的信息或进行用户操作确认。jQuery.dialog.js是一个专为网页开发者设计的轻量级插件,...

    My JS Dialog V1.10

    版本:MyJS_DIVDialogV1.10.js(支持换肤和自定义内容) 支持浏览器:IE所有系列 ******************************************* 参数介绍: innerDivId:依附层ID divBlotId:遮罩层ID divMessageId:消息层ID ...

    javascript dialog文件

    dialog.js

    Dialog 弹出提示窗 js

    "Dialog 弹出提示窗 js" 是一种使用JavaScript实现的动态弹出窗口技术,它能模拟腾讯等大型互联网公司所采用的高质量用户体验效果,同时兼容多种主流浏览器,如Chrome、Firefox、Safari、Edge和Internet Explorer。...

    Dialog.js 最新版 绝对强大

    Dialog.js 是一个强大的JavaScript库,专门用于创建对话框功能。这个最新版本的Dialog.js 提供了先进的特性和优化,使其在各种浏览器环境下表现卓越,包括Firefox、Internet Explorer 6、7、8以及Opera等主流浏览器...

    lhgdialog弹出窗口框架使用说明

    然后在你的JavaScript文件中引入该组件: ```javascript import Dialog from 'lhgdialog'; ``` 如果你的项目不支持npm,也可以通过下载压缩包并引用CDN链接或者将文件放入项目目录中。 ### 2. 基本使用 初始化...

    js实现dialog 源码包

    在JavaScript编程中,`dialog`通常指的是对话框或者模态框,它是一种用户界面元素,用于向用户显示信息,接收用户输入,或者进行确认操作。本文将深入探讨如何使用JavaScript来实现一个简单的`dialog`功能,包括弹出...

    移动端Dialog弹出对话框插件同时支持jQuery和Zepto

    `dialog.js`插件就是为了满足这种需求而设计的,它专为移动端优化,同时兼容了两种流行的轻量级JavaScript库:jQuery和Zepto。这款插件允许开发者轻松创建各种类型的通知、确认或询问对话框,提升用户体验。 首先,...

    weebox0.4 一个漂亮的 js dialog 框架包

    Weebox 0.4 是一个专为网页应用设计的美观JavaScript对话框框架。这个框架致力于提供一种简单、高效的方式来创建各种类型的对话框,包括警告、确认、信息提示以及自定义内容的弹出窗口。其核心特性在于轻量级、易用...

    js对话框传递参数

    ### JS对话框传递参数 #### 一、简介 在JavaScript中,通过对话框进行参数传递是一种常见的交互方式,尤其在需要弹出一个模态对话框并与其进行数据交换的场景下更为常见。本文将详细介绍如何利用`window....

    bootstrap的dialog.js

    Bootstrap的Dialog.js是一个基于Bootstrap框架的对话框插件,它扩展了Bootstrap的模态(Modal)组件,提供了更丰富的交互性和自定义功能。在网页应用中,对话框常常用于显示警告、确认信息或者进行表单操作,...

    jQuery对话框Dialog弹出层插件演示与使用说明

    jQuery Dialog 是一个强大的弹出层插件,常用于创建各种对话框、提示窗口或模态框,极大地丰富了网页的交互体验。这个插件是基于 jQuery 库构建的,因此在使用前确保已经引入了 jQuery。下面将详细介绍如何使用 ...

    jquery.dialogBox.js动画对话框插件

    《jQuery.dialogBox.js动画对话框插件详解及应用实践》 在网页开发中,对话框是一种常见的用户交互元素,用于提示信息、确认操作或者展示详细内容。jQuery.dialogBox.js插件是一个轻量级且功能丰富的动画对话框工具...

Global site tag (gtag.js) - Google Analytics