• 修改jquery里的dialog对话框插件为框架页(iframe)


    点击这里加入此群点击这里加入此群请加新群:77813547

     jquery有个很不错的ui插件,dialog插件,他的官方网站上有各种形式的演示:http://jqueryui.com/demos/dialog/   ,可能大家用得比较多的还是它的默认模式,具体的用法官网上都有,也有中文的讲解地址,我就不再重复了,最近在弄弹出框架页,仔细一看,和dialog插件的modal form 模式很相似,demo演示效果:http://www.lovewebgames.com/addNews.aspx

    就是这么个效果,要进行登录注册弹出层,至于为什么我不直接用modal form来做呢?因为我喜欢,你管我。所以我就做了个jquery下面dialog的插件,需要引用原来dialog的文件。具体代码如下:

     

     1 (function ($) {
     2     $.fn.openWidow = function (options) {
     3         var divId = "dialog" + Math.round(Math.random() * 100);
     4         var settings = {
     5             id: divId,
     6              300,
     7             height: 200,
     8             modal: true,
     9             buttons: {
    10         },
    11         show: "explode",
    12         hide: "highlight",
    13         title: "提示",
    14         url: "/test.aspx",
    15         close: function () {
    16             $("#" + this.id).remove();
    17             //debugger
    18             if (document.getElementById(this.id))
    19             document.body.removeChild(document.getElementById(this.id));
    20         }
    21     };
    22     if (options) {
    23         $.extend(settings, options);
    24     }
    25     $("body").append('<div id="' + settings.id + '" title="Dialog Title"><p class="loading"></p></div>');
    26     // Dialog            
    27     $('#' + settings.id).dialog({
    28         autoOpen: false,
    29         title: settings.title,
    30          settings.width,
    31         height: settings.height,
    32         modal: true,
    33         bgiframe: true,
    34         show: settings.show,
    35         hide: settings.hide,
    36         buttons: settings.buttons,
    37         close: settings.close,
    38         open: function () {
    39             $("#" + settings.id).html('<iframe src="' + settings.url + '" frameborder="0" height="100%" width="100%" id="dialogFrame" scrolling="auto"></iframe>');
    40         },
    41         resizeStop: function () {
    42             $("#dialogFrame").css("width", parseInt($(this).css("width")) - 5);
    43             $("#dialogFrame").css("height", parseInt($(this).css("height")) - 5);
    44         }
    45     });
    46 
    47     $('#' + settings.id).dialog("open");
    48     return this;
    49 };
    50 })(jQuery);

    我想大家应该都还看得懂的,没啥复杂的,就是重复重复再重复的工作。甚至很多参数本身就是dialog的,我只是加了层皮。我相信这个方法是很多新手都希望用到的,毕竟不是每个人都喜欢并熟练使用ajax,所以这时候iframe的用途还是很大的。

    并希望有兴趣的朋友加入我的Q群:70210212、5678537,平时多勾通下,有问题不用一个人想。另有用jquery的sortable做自定义网站模块

  • 相关阅读:
    文件和数组的排序
    批量删除文档中的注释和空行
    strcat()的编写
    OpenGL鼠标旋转图像
    c++对文件操作的支持(二)
    汉字的16进制存储
    启动程序的c++方法
    HDU 2199 Can you solve this equation? 二分
    HDU 2899 Strange fuction 二分
    HDU 1233 还是畅通工程 最小生成树
  • 原文地址:https://www.cnblogs.com/tianxiangbing/p/jquery_dialog.html
Copyright © 2020-2023  润新知