页面弹窗是网站中常用的交互效果,它可以强提示网站的某些信息给用户,或者作用于某些信息的修改等等功能。

这几天在做一个项目的时候,就顺捎把这个插件写一下,栽棵树,自己乘凉吧。

原创博文,转载请注明出处:http://www.cnblogs.com/dereksunok/p/3724764.html

html代码:

 <!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>jQuery.pageMsgFrame</title>
<script src="jquery-1.7.2.min.js"></script>
<script src="jQuery.pageMsgFrame.js"></script>
</head>
<style>
*{ margin: 0;padding: 0;}
.msg { height: 180px; width: 400px; position: absolute; top: 240px; left: 50%; margin-left: -200px; background: #f00; color: #fff; z-index: 3;}
a{ color: #fff;}
button { margin: 10px;}
</style>
<body>
<button id="show">show</button>
<button id="fade">fade</button>
<button id="slideDown">slideDown</button> <div class="msg" style="display:none;">
<p align="right"><a class="close" href="javascript:void(0);">关闭</a></p>
<p class='content'>内容</p>
<p><a class="submit" href="javascript:void(0);">确定</a> <a class="close" href="javascript:void(0);">取消</a></p>
</div> <script>
$(function(){
$(window).pageMsgFrame({objFrame:'.msg',showBtn:'#show',closeBtn:'.close',effect:'normal',timer:400});
$(window).pageMsgFrame({objFrame:'.msg',showBtn:'#fade',closeBtn:'.close',effect:'fade',timer:600});
$(window).pageMsgFrame({objFrame:'.msg',showBtn:'#slideDown',closeBtn:'.close',effect:'slide',timer:400});
}) </script>
</body>
</html>

html代码中写明了三种不同状态的弹窗形式,show() 带时间参数的动画展示,fadeIn()展示,slideDown()展示。

必填的对象是objFrame:'.msg',showBtn:'#show',closeBtn:'.close'。

  • objFrame-显示哪个模块
  • showBtn-显示弹窗按钮
  • closeBtn-关闭弹窗按钮

jQuery插件:

 /*
* jQuery.pageMsgFrame.js
* v.1.0
* 2014-05-12
* derek sun
*/
(function($){ $.fn.pageMsgFrame = function(option){
//默认参数列表
var settings = {
showBtn:'',
closeBtn:'',
submitBtn:'',
objFrame:'',
effect:'',
//effect包含 normal fade slide _before:function(){
$.noop();
},
_after:function(){
$.noop();
},
_submit:function(){
$.noop();
},
_ajax:function(){
$.noop();
},
timer:0
}; var opts = $.extend(settings,option,{}); //show
$(opts.showBtn).live('click',function(){
opts._before();
showPageFrameLayer();
showFrame();
}) //hide
$(opts.closeBtn).live('click',function(){
$(opts.objFrame).add('.pageFrameLayer').fadeOut();
$(".pageFrameLayer").remove();
opts._after();
}) //_ajax
$(opts.submitBtn).live('click',function(){
opts._ajax();
}) function showFrame(){
switch(opts.effect){
case 'normal':
opts.timer?$(opts.objFrame).show(opts.timer):$(opts.objFrame).show();
break; case 'fade':
opts.timer?$(opts.objFrame).fadeIn(opts.timer):$(opts.objFrame).fadeIn();
break; case 'slide':
opts.timer?$(opts.objFrame).slideDown(opts.timer):$(opts.objFrame).slideDown();
break; default:
$(opts.objFrame).show();
break;
}
} function showPageFrameLayer(){
if(!$(".pageFrameLayer").length){
$("body").append('<div class="pageFrameLayer" style="height:100%; width: 100%; position: absolute; top:0; left:0; bottom:0; right:0; background: #000; opacity:0.4; z-index: 1; "></div>');
}
} } })(jQuery)

一个简单的页面弹窗插件 jquery.pageMsgFrame.js的更多相关文章

  1. 优秀的弹窗插件 jquery.lightbox_me.js

    项目地址: https://github.com/buckwilson/Lightbox_me用法:http://buckwilson.me/lightboxme/ var opt = { 'cent ...

  2. 从0开始写一个简单的vite hmr 插件

    从0开始写一个简单的vite hmr 插件 0. 写在前面 在构建前端项目的时候,除开基本的资源格式(图片,json)以外,还常常会需要导入一些其他格式的资源,这些资源如果没有第三方vite插件的支持 ...

  3. 一个简单的MariaDB认证插件demo

    代码地址如下:http://www.demodashi.com/demo/13076.html 一.前言 众所周知(其实可能很多人不知道)MariaDB支持插件认证.在MariaDB中新建用户,常见的 ...

  4. 动态生成二维码插件 jquery.qrcode.js

    前段时间做项目,需要动态生成一个二维码,于是就在网上找了一下发现一个jquery插件jquery.qrcode.js,所以今天就简单说一下这个插件的使用: jquery.qrcode.js是依赖jqu ...

  5. jQuery图片懒加载插件jquery.lazyload.js使用实例注意事项说明

    jQuery图片懒加载插件jquery.lazyload.js使用实例注意事项说明 jquery.lazyload.js是一个用JavaScript编写的jQuery插件.它可以延迟加载长页面中的图片 ...

  6. jQuery懒加载插件jquery.lazyload.js使用说明实例

    jQuery懒加载插件jquery.lazyload.js使用说明实例很多网站都会用到‘图片懒加载’这种方式对网站进行优化,即延迟加载图片或符合某些条件才开始加载图片.懒加载原理:浏览器会自动对页面中 ...

  7. jQuery插件 -- 表单验证插件jquery.validate.js, jquery.metadata.js

    原文地址:http://blog.csdn.net/zzq58157383/article/details/7718352   最常使用JavaScript的场合就是表单的验证,而jQuery作为一个 ...

  8. jQuery响应式幻灯片插件jquery.glide.js(支持触摸&轻量级)

    找到一款好的幻灯片插件不容易,找到一款功能全并且使用很简单的幻灯片更不容易,今天为大家分享一款全能的幻灯片插件glide.js,也是我现在在使用的一款插件. jquery.glide.js是响应和触摸 ...

  9. jQuery滚动条插件 – jquery.slimscroll.js

    jquery.slimscroll.js插件是一个支持把内容放在一个盒子里面,固定一个高度,超出的则使用滚动.jquery.slimscroll.js不仅可以定义高度.宽度,还可以定义位置.滚动条大小 ...

随机推荐

  1. Subnetting

    Subnet Addressing To better utilize IP address Subnet addressing introduces another hierarchical(分层) ...

  2. 用模板引擎Art-Template渲染空格或换行符引发的一场“命案”

    一.绪论 说实话,真的不知道如何给这篇博客命名,因为我觉得应该有一些小伙伴遇到跟我同样的问题正在抓耳挠腮中. 二.导火索 最近在做一个移动H5翻页的功能,类似于MAKA模板那种.假设大致框架如下 ​ ...

  3. C#自定义异常

    继承自System.ApplicationException类,并使用Exception作为自定义异常类名的结尾 三个构造函数:一个无参构造函数:一个字符串参数的构造函数:一个字符串参数,一个内部异常 ...

  4. QLViewController在iOS7下的自定义

    原文来自:QLViewController在iOS7下的自定义 原先的项目使用了quicklook framework,用于在iPhone上浏览各类文件,除了txt文本会有乱码的问题,其他文件的显示都 ...

  5. 解决最新版 mac os sierra usb网卡不能使用的问题

    解决最新版 mac os sierra usb网卡不能使用的问题 解决最新版 mac os sierra usb网卡不能使用 无法使用未签名第三驱动的问题 我的情况是 mac os sierra 使用 ...

  6. IO,File对象-构造函数和常用方法

    import java.io.File; import java.text.DateFormat; import java.util.Date; public class FileDemo { pub ...

  7. background-image 背景图片的设置

    background-image 背景图片的设置 属性:background-image: url(img/banner.jpg); 1.设置背景图的宽度 background-size: 400px ...

  8. PHP读取excel

    $file = '';//文件名称 $file_ext = explode('.',$file);$file_ext = $file_ext[1];$data['file_ext'] = $file_ ...

  9. MapReduce之Reduce Join

    一 介绍 Reduce Join其主要思想如下: 在map阶段,map函数同时读取两个文件File1和File2,为了区分两种来源的key/value数据对,对每条数据打一个标签(tag), 比如:t ...

  10. C语言顺序表

    顺序表结构可设为一个数组和一个指向尾部的变量,数组用来存放元素,指向尾部的变量在插入元素的时候加一,删除元素的时候减一,始终指向尾部. typedef int elemtype; typedef st ...