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

时间: 2024-08-01 14:27:18

discuz二次开发笔记(二)------跳转函数运用的相关文章

PHP微信公众开发笔记(二)

PHP微信公众开发笔记系列 日期:2014.9.1 需求分析: 在成功的开启了微信开发者服务之后,我们便需要开始做响应用户操作的功能了.其实做微信公众平台,当初的目的我就是想做成一个服务平台,因为刚大学毕业,同学各奔东西.有的时候可能我们会到一个陌生的城市去,那时可能就会想啊,这个城市有班上的同学在么?这时掏出手机,点开服务号输入这个城市名,就会返回一串信息,假如有同学在这个城市,就会列出联系信息之类的.当然也许会说,既然是熟悉的同学,那么肯定会知道联系方式之类的,还需要这样多此一举么.而我的考

离线谷歌地图API的开发笔记(二)

一.地图引擎介绍 离线地图引擎运行在WINDOWS平台上,底层由Visual c++语言开发,编译为OCX插件方式.占用文件少,便于二次开发的快速安装部署. 具有专业地图的基础操作功能:地图放大.缩小.移动.测量距离,测量面积. 支持以下矢量操作:点.线.面.透明矩形.透明圆形.箭头等添加/编辑/删除操作. 软件支持操作系统:Windows98/Me/2000/XP/win7/win8/win10 支持VB,VC,Delphi,C#等开发工具的二次开发, 从此可以专注于您的专业领域,不再为地图开

研究QGIS二次开发笔记(一)

为了在QT程序中嵌入一个地图,最终选择了QGIS来干这件事.选型阶段真是呵呵.我折腾的是QGIS2.4.0. 首先,到官方网站下载安装QGIS.如果你跟我一样懒的话,可能希望下载一个已经编译好的windows版的QGIS.但是这里有个陷阱.咱们是要做二次开发的,千万不要下载安装那个看上去很美的QGIS Chugiak安装包,那里面缺lib库啊我摔!!一定要用那个在线安装下载的osgeo4w.下载选择advance install,在选择下载项时注意把libjpeg_ipp那个库取消掉,安装没有i

RTX二次开发笔记2

问题一:关于DLL文件的引用 在安装文件夹内 APIObject.dll==>RTXSAPI.dll 服务器API接口 RTXCAPI.DLL ==> 客户端API接口 问题二:RTX二次开发运行代码 RootObj = new RTXSAPIRootObj();    //创建根对象 出现错误 检索 COM 类工厂中 CLSID 为 {79210E58-99EB-45D0-8890-763EFEAA143F} 的组件时失败,原因是出现以下错误: 80040154. 方法一: 调用com+的时

shopnc二次开发(二)

一般来说二次开发,多数就是修改界面和增加功能这两个需求 先说修改界面 mvc 架构的程序,在界面这里,基本就是调用数据. 常见的界面数据构架有三种 1.是业务端或者是控制端数据驱动界面,基本上是后台输出啥数据,界面表现啥数据.这样麻烦的地方在于如果要更换模板的话动刀会动的比较大,除非没有更换模板的需求.如果不修改控制端的数据的话,那么界面设计这里受到的限制就比较多. 2.是界面驱动数据,界面自定义调用数据,多数的 cms 基本都是这样搞的,通过标签或者定义个通用的 php 调用数据函数来获取数据

企业仿站 个人仿站 定制网站制作 phpcms插件开发 网站二次开发 phpcms二次开发

团队擅长项目 1.客客威客系系统系模版制作.仿站.二次开发程序 2.ecshop商城系统系模版制作.模版制作.程序二次开发.插件开发 3.phpcms系统模版制作.插件开发.程序二次开发 4.帝国cms系统模版制作.插件开发.程序二次开发 5.dedecms系统模版制作.插件开发.程序二次开发 6.Wordpress博客社区系统模版制作.插件开发.主题定制 7.Discuz论坛社区系统.模版制作.插件开发.仿站定制 网站运维: 3.liunx  环境安装  win2003 –win2012 环境

微信公众号二次开发(二)-注册新浪SAE

新浪SAE:Sina App Engine是新浪提供的云服务,对个人提供免费的Web应用/业务开发托管.运行平台.我们就用它来作为我们的开发服务器测试环境. 注册新浪云http://sinacloud.com/ 创建SAE应用,使用PHP作为开发语言 填写运营者身份信息 进入后台 在后台查看总揽 该服务器我们就将利用它作为我们的二次开发服务器进行配置. 欢迎微信扫一扫或搜索关注我的"Windows自动化运维"公众号,我会每天定期发布Windows自动化运维的相关知识供大家讨论研究. 本

discuz二次开发笔记(一)------$_G全解析

$_G 保存了 Discuz! 中所有的预处理数据缓存能够很好的提高程序的性能,一些配置数据没必要每次都查询数据库,只要在修改了的时候更新下缓存即可.Discuz! 中所有的缓存保存在 $_G[cache] 中$_G[member] 会员信息数据$_G[uid] 用户 uid$_G[username] 用户名$_G[adminid] 用户管理组 id$_G[groupid] 用户用户组 id$_G[settting] 设置数据$_G[cache] 系统缓存$_G[cache][plugin] 插

discuz二次开发笔记(三)------discuz的安装步骤

下载好discuz的安装包后,解压在自己定义的文件夹里面,将upload里面的文件拷贝出来放到和upload同级的地方,然后删除upload文件夹. 打开浏览器,输入你文件夹的地址:如:http://192.168.1.95:90/lyy/ 它会跳出如下界面: 点击下一步后,会出现 按图点击下一步 标红线的地方都是要自己定义的,必须根据自己的实际需求来改. 开始安装数据库 安装完成,这时候你就可以登录你刚才填写的那个帐号了.