JQuery插件jqModal应用详解(十二)

JqModal 是jQuery的一个插件,用来在web浏览器中显示自定义通告,而且它为通用窗口框架奠定了基础。

1. 多模型支持

2. 支持拖拽和重定义大小

3, 支持远程加载窗口内容(ajax和iframes)

下载:

http://dev.iceburg.net/jquery/jqModal/#examples

使用的方法:

step1:添加js与css
<link href="css/jqModal.css" rel="stylesheet" type="text/css" />
<script src="scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="scripts/jqModal.js" type="text/javascript"></script>
<script src="scripts/jqDnR.js" type="text/javascript"></script>

Step2:前台HTML
<a href="#" class="jqModal">view</a>
...
<div class="jqmWindow" id="dialog">
<a href="#" class="jqmClose">Close</a>
<hr>
<em>READ ME</em> -->
This is a "vanilla plain" jqModal window. Behavior and appeareance extend far beyond this.
The demonstrations on this page will show off a few possibilites. I recommend walking
through each one to get an understanding of jqModal <em>before</em> using it.
     </div>

前台JS
<script type="text/javascript">
    $().ready(function() {
        $(‘#dialog‘).jqm();
    });
</script>

效果:

前台HTML:
<a href="#" class="ex3bTrigger">view</a> (alert)
...
<div class="jqmAlert" id="ex3b">

<div id="ex3b" class="jqmAlertWindow">
    <div class="jqmAlertTitle clearfix">
    <h1>Did you know?</h1><a href="#" class="jqmClose"><em>Close</em></a>
  </div>
 
  <div class="jqmAlertContent">
  <p>Please wait... <img src="inc/busy.gif" alt="loading" /></p>
  </div>
</div>

</div>

前台JS
 $().ready(function() {
var triggers = $(‘a.ex3bTrigger‘)[0];
      $(‘#ex3b‘).jqm({
            trigger: triggers,
            ajax: ‘html/2.htm‘,
            target: ‘div.jqmAlertContent‘,
            overlay: 0
        });
        // Close Button Highlighting. IE doesn‘t support :hover. Surprise?
        if ($.browser.msie) {
            $(‘div.jqmAlert .jqmClose‘)
  .hover(
    function() { $(this).addClass(‘jqmCloseHover‘); },
    function() { $(this).removeClass(‘jqmCloseHover‘); });
        }
    });

效果:

前台HTML
<body>
<a href="#" id="ex3aTrigger">view</a> (dialog)
...
<div id="ex3a" class="jqmDialog">
<div class="jqmdTL"><div class="jqmdTR"><div class="jqmdTC jqDrag">Dialog Title</div></div></div>
<div class="jqmdBL"><div class="jqmdBR"><div class="jqmdBC">
<div class="jqmdMSG">
Styled windows or dialogs are easy!
<br /><br />
This particular theme was done for <a href="http://www.pommo.org">poMMo</a> --
</div>
</div></div></div>
<input type="image" src="dialog/close.gif" class="jqmdX jqmClose" />
</div>
</body>

前台JS
<script type="text/javascript">
    $(document).ready(function() {
        $(‘#ex3a‘).jqm({
            trigger: ‘#ex3aTrigger‘,
            overlay: 30, /* 0-100 (int) : 0 is off/transparent, 100 is opaque */
            overlayClass: ‘whiteOverlay‘
        })
    .jqDrag(‘.jqDrag‘); /* make dialog draggable, assign handle to title */
$(‘input.jqmdX‘)
  .hover(
    function() { $(this).addClass(‘jqmdXFocus‘); },
    function() { $(this).removeClass(‘jqmdXFocus‘); })
  .focus(
    function() { this.hideFocus = true; $(this).addClass(‘jqmdXFocus‘); })
  .blur(
    function() { $(this).removeClass(‘jqmdXFocus‘); });
    });
</script>

效果:

前台HTML
<body>
<a href="#" id="ex3cTrigger">view</a> (notice)
...
<div style="position: absolute; margin: 10px 0 0 100px;">
<div id="ex3c" class="jqmNotice">
    <div class="jqmnTitle jqDrag">
      <h1>Did you know?</h1>
    </div>
  <div class="jqmnContent">
  <p>Pine, spruce, or other evergreen wood should never be used in barbecues. These woods,    </p>
  </div>
  <img src="css/notice/close_icon.png" alt="close" class="jqmClose" />
  <img src="css/notice/resize.gif" alt="resize" class="jqResize" />
</div>
</div>
</body>

前台JS
 $().ready(function() {
        $(‘#ex3c‘)
    .jqDrag(‘.jqDrag‘)
    .jqResize(‘.jqResize‘)
    .jqm({
        trigger: ‘#ex3cTrigger‘,
        overlay: 0,
        onShow: function(h) {
            /* callback executed when a trigger click. Show notice */
            h.w.css(‘opacity‘, 0.92).slideDown();
        },
        onHide: function(h) {
            /* callback executed on window hide. Hide notice, overlay. */
            h.w.slideUp("slow", function() { if (h.o) h.o.remove(); });
        }
    });
    });

效果:

前台HTML
<body>
<a href="#" class="ex2trigger">View</a>
...
<div class="jqmWindow" id="ex2">

Please wait... <img src="inc/busy.gif" alt="loading" />
</div>
</body>

前台JS
<script type="text/javascript">
    $(document).ready(function() {
        $(‘#ex2‘).jqm({ ajax: ‘html/1.htm‘, trigger: ‘a.ex2trigger‘ });
    });
</script>

效果:

前台HTML
<body>
<a href="#" class="alert">view</a> (alert)
<a href="#" class="confirm">view</a> (confirm)
...
<!-- Alert Dialog -->
<div class="jqmAlert" id="alert">
<div id="ex3b" class="jqmAlertWindow">
    <div class="jqmAlertTitle clearfix">
    <h1>Warning!</h1><a href="#" class="jqmClose"><em>Close</em></a>
  </div>
  <div class="jqmAlertContent"></div>
</div>
</div>

<!-- Confirm Dialog -->
<div class="jqmConfirm" id="confirm">
<div id="ex3b" class="jqmConfirmWindow">
    <div class="jqmConfirmTitle clearfix">
    <h1>Confirmation por favor...</h1><a href="#" class="jqmClose"><em>Close</em></a>
  </div>
  <div class="jqmConfirmContent">
  <p class="jqmConfirmMsg"></p>
  <p>Continue?</p>
  </div>
  <input type="submit" value="no" />
  <input type="submit" value="yes" />
  </p>
</div>
</div>
</body>

<script type="text/javascript">
    /* Overriding Javascript‘s Alert Dialog */
    function alert(msg) {
        $(‘#alert‘)
    .jqmShow()
    .find(‘div.jqmAlertContent‘)
      .html(msg);
    }
    $().ready(function() {
        $(‘#alert‘).jqm({ overlay: 0, modal: true, trigger: false });
        // trigger an alert whenever links of class alert are pressed.
        $(‘a.alert‘).click(function() {
            alert(‘You Have triggered an alert!‘);
            return false;
        });
    });

function confirm(msg, callback) {
        $(‘#confirm‘)
    .jqmShow()
    .find(‘p.jqmConfirmMsg‘)
      .html(msg)
    .end()
    .find(‘:submit:visible‘)
      .click(function() {
          if (this.value == ‘yes‘)
              (typeof callback == ‘string‘) ?
            window.location.href = callback :
            callback();
          $(‘#confirm‘).jqmHide();
      });
    }
    $().ready(function() {
        $(‘#confirm‘).jqm({ overlay: 88, modal: true, trigger: false });
        // trigger a confirm whenever links of class alert are pressed.
        $(‘a.confirm‘).click(function() {
            confirm(‘About to visit: ‘ + this.href + ‘ !‘, this.href);
            return false;
        });
    });
</script>

效果:

时间: 2024-08-09 22:01:24

JQuery插件jqModal应用详解(十二)的相关文章

jQuery插件制作方法详解

jQuery插件制作方法详解 jquery插件给我的感觉清一色的清洁,简单.如Jtip,要使用它的功能,只需要在你的元素的class上加 上Jtip,并引入jtip.js及其样式即可以了.其他事情插件全包.我喜欢jquery的一个重要原因是发现她已经有了很多很好,很精彩的插件.写一 个自己的jQuery插件是非常容易的,如果你按照下面的原则来做,可以让其他人也容易地结合使用你的插件. jquery插件给我的感觉清一色的清洁,简单.如Jtip,要使用它的功能,只需要在你的元素的class上加上Jt

jQuery插件编写步骤详解

如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论下jquery的插件机制,jquery有着成千上万的第 三方插件,有时我们写好了一个独立的功能,也想将其与jquery结合起来,可以用jquery链式调用,这就要扩展jquery,写成插件形式了,如下 面就是一个简单扩展Jquery对象的demo: //sample:扩展jquery对象的方法,bold(

jQuery插件autoComplete使用详解

安装/需要引入的文件 <script type="text/javascript" src="../js/jquery-1.8.3.min.js.js"></script> <link href="../plug/autoComplete/styles.css" type="text/css" rel="stylesheet" /><script type=&quo

jQuery插件- Autocomplete应用详解

项目中有时会用到自动补全查询,就像Google搜索框.淘宝商品搜索功能,输入汉字或字母,则以该汉字或字母开头的相关条目会显示出来供用户选择, autocomplete插件就是完成这样的功能. autocomplete官网 : http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/ (可下载jQuery autocomplete插件). 淘宝商品搜索功能 效果: 下面来使用 autocomplete插件来实现类似效果. 1.

MQTT---HiveMQ源码详解(十二)Netty-MQTT消息、事件处理(流程)

简介 前面这些章节,讲的基本上都是属于netty对MQTT周边的一些处理,由于MQTT协议总共目前可用的消息类型有14个,如果再加上对应的事件处理加载一起那就估计大概有14*3个handler,如果每个来讲一遍,难免有些枯燥,而且知识点会很分散,思考再三,想把整体的MQTT消息以及对应的事件处理作为一节来介绍,我们只讲它整体的实现思路.处理流程即可,这样对需要自己写broker的朋友的帮助应该是非常大的,这也符合最初写此系列博客的初衷. 热身 一.Callback 1.分类 HiveMQ的Cal

jQuery的deferred对象详解(二)

Deferred对象是由$.Deferred构造的,$.Deferred被实现为简单的工厂模式. $.Deferred的实现 创建三个$.Callbacks对象,分别表示成功done,失败fail,处理中process三种状态 对应了三种处理结果,resolve.reject.notify 创建了一个promise对象,具有state.always.then.primise方法 通过扩展primise对象生成最终的Deferred对象,是阻止其他代码来改变这个deferred对象的状态,defe

文件IO详解(十二)---原子操作之创建文件

使用open打开文件时,使用 O_CREAT 标志的话,就会在不存在文件的情况下去创建文件.所以说实际应该是有两个操作,一个是判断文件是否存在,另一个就是创建文件:而且这两个操作是作为一个原子操作执行的.如果不是作为一个原子操作执行的,那么就会分解成如下的程序段: 如果不作为一个原子操作执行那么在多进程中可能会出问题,假设两个操作不是作为原子操作执行的,当进程A在判断文件不存在后,便被挂起,进程B得以执行,然后创建了文件且向其中写入了数据,然后进程A被恢复,接着执行creat函数试图创建文件,而

jquery.dataTables插件使用例子详解

DataTables是一个jQuery的表格插件.这是一个高度灵活的工具,依据的基础逐步增强,这将增加先进的互动控制,支持任何HTML表格 效果图 代码 <!doctype html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>jquery.dataTables插件</title>     <link rel

jQuery上传插件Uploadify使用详解(转发原作者冯威)

jQuery上传插件Uploadify使用详解 本文Uploadify版本为2.1.0,已经过时,截止(2016-09-25)最新版本3.2.1的详细介绍请移步<jQuery上传插件Uploadify使用详解(3.2.1)> Uploadify是jQuery的一个上传插件,实现的效果非常不错,带进度显示.不过官方提供的实例时php版本的,本文将详细介绍Uploadify在Aspnet中的使用,您也可以点击下面的链接进行演示或下载. 官方下载 官方文档 官方演示 首先按下面的步骤来实现一个简单的