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();隐藏当前窗体

  • 相关阅读:
    spark 读取mongodb失败,报executor time out 和GC overhead limit exceeded 异常
    在zepplin 使用spark sql 查询mongodb的数据
    Unable to query from Mongodb from Zeppelin using spark
    spark 与zepplin 版本兼容
    kafka 新旧消费者的区别
    kafka 新生产者发送消息流程
    spark ui acl 不生效的问题分析
    python中if __name__ == '__main__': 的解析
    深入C++的new
    NSSplitView
  • 原文地址:https://www.cnblogs.com/lyy-php/p/4446970.html
Copyright © 2011-2022 走看看