zoukankan      html  css  js  c++  java
  • discuz二次开发笔记(二)------跳转函数运用

          前几天在增加修改功能时,突然用到一个提示函数,有点不理解,看了他的由来后果断做下笔记,感觉这在以后的开发中肯定还是要用的上的。有些地方不是很理解,在以后慢慢纠正、查补。

    Htm页面中用的js跳转:

    $("#lyy_real").click(function(){

        $.post("api/realnamechange.php",

                {uname:$("#uname").val(),uid:$("#uid").val(),realname:$("#realname_lyy").val()},

                function(data){  数据返回执行弹出框,并刷新当前页面。

                    popup.open(data, 'confirm', 'home.php?mod=space&uid='+$("#uid").val());

                }

              );

      })

    Common.js

    var POPMENU = new Object;

    var popup = {

             init : function() {

                       var $this = this;

                       $('.popup').each(function(index, obj) {

                                obj = $(obj);

                                var pop = $(obj.attr('href'));

                                if(pop && pop.attr('popup')) {

                                         pop.css({'display':'none'});

                                         obj.on('click', function(e) {

                                                   $this.open(pop);

                                         });

                                }

                       });

                       this.maskinit();

             },

             maskinit : function() {

                       var $this = this;

                       $('#mask').off().on('tap', function() {

                                $this.close();

                       });

             },

             open : function(pop, type, url) {

                       this.close();

                       this.maskinit();

                       if(typeof pop == 'string') {

                                $('#ntcmsg').remove();

                                if(type == 'alert') {

                                         pop = '<div class="tip"><dt>'+ pop +'</dt><dd><input class="button2" type="button" value="确定" onclick="popup.close();"></dd></div>'

                                } else if(type == 'confirm') {

                                         pop = '<div class="tip"><dt>'+ pop +'</dt><dd><input class="redirect button2" type="button" value="确定" href="'+ url +'"><a href="javascript:;" onclick="popup.close();">取消</a></dd></div>'

                                }

                                $('body').append('<div id="ntcmsg" style="display:none;">'+ pop +'</div>');

                                pop = $('#ntcmsg');

                       }

                       if(POPMENU[pop.attr('id')]) {

                                $('#' + pop.attr('id') + '_popmenu').html(pop.html()).css({'height':pop.height()+'px', 'width':pop.width()+'px'});

                       } else {

                                pop.parent().append('<div class="dialogbox" id="'+ pop.attr('id') +'_popmenu" style="height:'+ pop.height() +'px;'+ pop.width() +'px;">'+ pop.html() +'</div>');

                       }

                       var popupobj = $('#' + pop.attr('id') + '_popmenu');

                       var left = (window.innerWidth - popupobj.width()) / 2;

                       var top = (document.documentElement.clientHeight - popupobj.height()) / 2;

                       popupobj.css({'display':'block','position':'fixed','left':left,'top':top,'z-index':120,'opacity':1});

                       $('#mask').css({'display':'block','width':'100%','height':'100%','position':'fixed','top':'0','left':'0','background':'black','opacity':'0.2','z-index':'100'});

                       POPMENU[pop.attr('id')] = pop;

             },

             close : function() {

                       $('#mask').css('display', 'none');

                       $.each(POPMENU, function(index, obj) {

                                $('#' + index + '_popmenu').css('display','none');

                       });

             }

    };

    上面是popup的定义,下面是他的三种用法:

    <!--{if !$_G[uid]}-->

             popup.open('要输出的提示信息', 'confirm', '点击确定按钮后要跳转的地址'); confirm为弹出提示框的方式,这种方式有确认和取消两种按钮,点击确定后才会跳转。

    <!--{else}-->

             popup.open('要输出的提示信息', 'alert');alert为弹出提示框的方式,这种方式只有一个确定按钮,如果下面有跳转链接,不点击也会在默认时间内跳转页面。

    <!--{/if}-->

    popup.close();隐藏当前窗体

  • 相关阅读:
    nginx负载均衡集群
    pureftp 服务
    LVS集群之DR模式 实现
    LVS集群之NAT模式实现
    resin 安装配置
    nfs部署和优化
    电压和电流有什么关系
    自动循环播放 播放器
    有趣的匿名方法
    使用匿名委托,Lambda简化多线程代码
  • 原文地址:https://www.cnblogs.com/lyy-php/p/4446970.html
Copyright © 2011-2022 走看看