discuz二次開發筆記(二)------跳轉函數運用,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 = '
'+ pop +'
'
} else if(type == 'confirm') {
pop = '
'+ pop +'
取消
'
}
$('body').append(''+ pop +'');
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(''+ pop.html() +'');
}
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的定義,下面是他的三種用法:
popup.open('要輸出的提示資訊', 'confirm', '點擊確定按鈕後要跳轉的地址'); confirm為彈出提示框的方式,這種方式有確認和取消兩種按鈕,點擊確定後才會跳轉。
popup.open('要輸出的提示資訊', 'alert');alert為彈出提示框的方式,這種方式只有一個確定按鈕,如果下面有跳轉連結,不點擊也會在預設時間內跳轉頁面。
popup.close();隱藏當前表單
http://www.bkjia.com/PHPjc/987567.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/987567.htmlTechArticlediscuz二次開發筆記(二)------跳轉函數運用,discuz二次開發 前幾天在增加修改功能時,突然用到一個提示函數,有點不理解,看了他的由來...