iziModal.js时尚炫酷的jQuery模态窗口插件

iziModal是一款时尚炫酷的jQuery模态窗口插件。该模态窗口插件提供基本的打开模态窗口动画特效,并且可以调用iframe内容,Ajax加载,制作alert效果,加载超大内容等。

 使用方法

在页面中引入iziModal.min.css和jquery、iziModal.min.js文件。

<link rel="stylesheet" href="iziModal.min.css">
<script src="jquery.min.js" type="text/javascript"></script>
<script src="iziModal.min.js" type="text/javascript"></script>

 HTML结构

可以通过按钮或<a>元素来触发一个模态窗口。

<!-- Trigger to open Modal -->
<a href="#" class="trigger">打开模态窗口</a>
<!-- 模态窗口 -->
<div id="modal">
    <!-- 模态窗口的内容 -->
</div>

 初始化插件

在页面DOM元素加载完毕之后,可以通过iziModal()方法来初始化该模态窗口插件。

$("#modal").iziModal();

或者也可以通过jqurey事件来打开模态窗口。

$(document).on('click', '.trigger', function (event) {
    event.preventDefault();
    $('#modal').iziModal('open', this); // 需要带上 "this"
});

 Iframe

要在模态窗口中使用iframe功能,结构如下:

<a href="http://www.htmleaf.com" class="trigger">打开模态窗口</a>

初始化:

$("#modal").iziModal({
    iframe: true,
    iframeHeight: 800,
    iframeURL: "http://www.htmleaf.com"
});

或者也可以通过jquery事件来打开模态窗口。

$(document).on('click', '.trigger', function (event) {
    event.preventDefault();
    $('#modal').iziModal('open', this); // 需要带上 "this"
});

 Ajax

iziModal模态窗口插件配置有Ajax功能。

$("#modal").iziModal('open', function(modal){
    modal.startLoading();
    $.get('/path/to/file', function(data) {
        $("#modal .iziModal-content").html(data);
        modal.stopLoading();
    });
});

 配置参数

iziModal模态窗口插件的默认配置参数如下:

$("#modal").iziModal({
    title: '',
    subtitle: '',
    headerColor: '#88A0B9',
    theme: '',  // light
    attached: '', // bottom, top
    icon: null,
    iconText: null,
    iconColor: '',
    rtl: false,
    width: 600,
    padding: 0,
    radius: 3,
    zindex: 999,
    iframe: false,
    iframeHeight: 400,
    iframeURL: null,
    focusInput: true,
    group: '',
    loop: false,
    navigateCaption: true,
    navigateArrows: true, // closeToModal, closeScreenEdge
    history: true,
    restoreDefaultContent: false,
    autoOpen: 0, // Boolean, Number
    bodyOverflow: false,
    fullscreen: false,
    openFullscreen: false,
    closeOnEscape: true,
    overlay: true,
    overlayClose: true,
    overlayColor: 'rgba(0, 0, 0, 0.4)',
    timeout: false,
    timeoutProgressbar: false,
    pauseOnHover: false,
    timeoutProgressbarColor: 'rgba(255,255,255,0.5)',
    transitionIn: 'comingIn',
    transitionOut: 'comingOut',
    transitionInOverlay: 'fadeIn',
    transitionOutOverlay: 'fadeOut',
    onFullscreen: function(){},
    onResize: function(){},
    onOpening: function(){},
    onOpened: function(){},
    onClosing: function(){},
    onClosed: function(){}
});
参数 默认值 描述
title "" 模态窗口的标题。
subtitle "" 模态窗口的子标题。
theme "" 模态窗口的主题,可以是空或"light"。
attached "" '将模态附加在屏幕的顶部或底部
headerColor #6d7d8d 模态窗口的头部颜色。
overlayColor rgba(0,0,0,0.4) 遮罩层的颜色。
rtl "" 从右到左选项
icon null 将显示在模态标题中的图标类(您选择的字体图标)
iconText null 将在模态标题中显示的图标文本(使用文本的字体图标)
iconColor "" 头部图标的颜色。
iconClass null 图标图标的class(你使用的字体图标的class名称)
width 600 模态窗口的固定宽度。你可以使用%, px, em 或 cm。如果不带单位,默认为像素。
padding 0 模态窗口的内边距。
radius 3px 将以模态应用的边框半径
iframe false 是否在模态窗口中启用iframe功能。
iframeHeight null iframe的高度。
iframeURL null iframe加载内容的URL地址。如果没有设置,可以使用超链接的地址来作为URL地址。
closeOnEscape true 如果设置为true,则只能按退出键关闭模态
overlay true 启用或禁用背景叠加
overlayClose true 是否允许点击模态窗口的外部来关闭模态窗口。
group "" 创建一个具有相同名称的每个人的组,以便在他们之间导航
loop false 它允许循环使用同一组的模态
navigateCaption true 显示箭头以通知可能的导航
navigateArrows true 更改布局,显示箭头以在模态之间导航。可以是:'closeToModal'或'closeScreenEdge'
history true 启用浏览历史记录
closeOnEscape true 是否允许通过点击ESC键来关闭模态窗口。
bodyOverflow false 强制在打开模态窗口时超出文档的内容被隐藏。
focusInput true 设置为true时,当打开模态窗口时,第一个可见的表单域将被激活。
restoreDefaultContent false 使恢复默认模态内容再次打开
autoOpen false 是否自动打开模态窗口。
openFullscreen false 强制以全屏模式打开模态。
overlayColor rgba(0,0,0,0.4)' 颜色叠加
fullscreen false 允许标题模态中的按钮展开
timeout 0或false 0或false以毫秒为单位关闭模态或以false禁用
timeoutProgressbar false 启用超时进度条
timeoutProgressbarColor 'rgba(255,255,255,0.5)' 进度栏颜色
pauseOnHover false 它允许当光标在模态上时暂停超时
transitionInModal transitionIn 打开模态窗口的默认过渡动画。
transitionOutModal transitionOut 关闭模态窗口的默认过渡动画。
transitionInOverlay fadeIn 遮罩层打开时的过渡动画。
transitionOutOverlay fadeOut 遮罩层关闭时的过渡动画。
onFullscreen function() {} 模式启用或禁用全屏时将运行的回调函数。
onResize function() {} 发生调整大小时将执行的回调函数
onOpening function() {} 模态窗口打开时的回调函数。
onOpened function() {} 模态窗口打开后的回调函数。
onClosing function() {} 模态窗口关闭时的回调函数。
onClosed function() {} 模态窗口关闭后的回调函数。

 方法

  • $('#modal').iziModal();:初始化模态窗口。

  • $('#modal').iziModal('open');:打开模态窗口。

  • $('#modal').iziModal('close');:关闭模态窗口。

  • $('#modal').iziModal('getState');:获取模态窗口的状态,返回:{'closed'|'closing'|'opened'|'opening'}

  • $('#modal').iziModal('startLoading');:开启模态窗口中的加载进度指示器。

  • $('#modal').iziModal('stopLoading');:关闭模态窗口中的加载进度指示器。

  • $('#modal').iziModal('destroy');:销毁模态窗口。

  • $('#modal').iziModal('setHeaderColor', 'color');:设置模态窗口头部的背景颜色。

  • $('#modal').iziModal('setTitle', 'Title');:设置模态窗口的标题。

  • $('#modal').iziModal('setSubtitle', 'Subtitle');:设置模态窗口的子标题。

  • $('#modal').iziModal('setIconClass', 'iconClass');:设置模态窗口的图标。

  • $('#modal').iziModal('recalculateLayout');:重新计算模态窗口的尺寸和位置。

 事件

  • Opening:在模态窗口打开时触发。

  • Opened:在模态窗口打开之后触发。

  • Closing:在模态窗口关闭时触发。

  • Closed:在模态窗口关闭之后触发。

iziModal模态窗口插件的github地址为:https://github.com/dolce/iziModal

随着版本的更新,使用语法也有部分细节上的调整,具体使用可参考官网代码演示

  官网


赞(52) 打赏
未经允许不得转载:优客志 » 前端设计
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏