此特效需要本人所写的前几个JS特效源码
filter.js
drop.js
bounce.js
blind.js
clip.js
slide.js
如有需要,请看本人前几篇博客,
由于本人比较懒散,所以源码的注示比较少,请原谅
js源码dialog.js
// JavaScript Document
/*
* @function dialog
* @description dialogId对话框id,effect特效(可选,默认随机),className对话框样式(默认dialog,可选),templateHtml对话框内容(可选)
*/
function dialog(dialogId, effect, className, templateHtml){
var d = this;
var loading = null;
this.mask = null;
this.dialog = null;
var effect = effect;
var isRand = false;
var isOpen = false;
var isShow = false;
var loadImgTimer = null;
var init = function(){
d.dialog = document.getElementById(dialogId);
if(d.dialog){
if(className){
d.dialog.setAttribute("class", className);
d.dialog.setAttribute("className", className);
}
}
else{
d.dialog = document.createElement("div");
d.dialog.setAttribute("id", dialogId);
if(className){
d.dialog.setAttribute("class", className);
d.dialog.setAttribute("className", className);
}
else{
d.dialog.setAttribute("class", "dialog");
d.dialog.setAttribute("className", "dialog");
}
document.body.appendChild(d.dialog);
}
d.dialog.style.zIndex = 1000;
if(templateHtml){
d.dialog.innerHTML = templateHtml;
}
d.mask = document.getElementById("mask");
if(!d.mask){
d.mask = document.createElement("div");
d.mask.setAttribute("id", "mask");
d.mask.setAttribute("class", "mask");
d.mask.setAttribute("className", "mask");
d.mask.style.display = "none";
document.body.appendChild(d.mask);
}
};
this.open = function(isMode, func){
if(isOpen)
return;
isOpen = true;
if(isMode)
this.mask.style.display = "block";
if(!effect){
if(d.dialog.style)
d.dialog.removeAttribute("style");
d.dialog.style.display= "block";
d.dialog.style.position = "absolute";
d.dialog.style.marginLeft = 0-d.dialog.offsetWidth/2 + "px";
d.dialog.style.marginTop = 0-d.dialog.offsetHeight/2 + "px";
d.dialog.style.display = "none";