|
Нашел js функции, которые отвечают за вывод всплывающих сообщений, файл static/js/common_extra.js - function _showPrompt(ctrlid, evt, msg, timeout, classname) {
- var menuid = ctrlid ? ctrlid + '_pmenu' : 'ntcwin';
- var duration = timeout ? 0 : 3;
- if($(menuid)) {
- $(menuid).parentNode.removeChild($(menuid));
- }
- var div = document.createElement('div');
- div.id = menuid;
- div.className = !classname ? (ctrlid ? 'tip tip_js' : 'ntcwin') : classname;
- div.style.display = 'none';
- $('append_parent').appendChild(div);
- if(ctrlid) {
- msg = '<div id="' + ctrlid + '_prompt"><div class="tip_horn"></div><div class="tip_c">' + msg + '</div>';
- } else {
- msg = '<table cellspacing="0" cellpadding="0" class="popupcredit"><tr><td class="pc_l"> </td><td class="pc_c"><div class="pc_inner">' + msg +
- '</td><td class="pc_r"> </td></tr></table>';
- }
- div.innerHTML = msg;
- if(ctrlid) {
- if(!timeout) {
- evt = 'click';
- }
- if($(ctrlid)) {
- if($(ctrlid).evt !== false) {
- var prompting = function() {
- showMenu({'mtype':'prompt','ctrlid':ctrlid,'evt':evt,'menuid':menuid,'pos':'210'});
- };
- if(evt == 'click') {
- $(ctrlid).onclick = prompting;
- } else {
- $(ctrlid).onmouseover = prompting;
- }
- }
- showMenu({'mtype':'prompt','ctrlid':ctrlid,'evt':evt,'menuid':menuid,'pos':'210','duration':duration,'timeout':timeout,'zindex':JSMENU['zIndex']['prompt']});
- $(ctrlid).unselectable = false;
- }
- } else {
- showMenu({'mtype':'prompt','pos':'00','menuid':menuid,'duration':duration,'timeout':timeout,'zindex':JSMENU['zIndex']['prompt']});
- $(menuid).style.top = (parseInt($(menuid).style.top) - 100) + 'px';
- }
- }
Скопировать код- function _showCreditPrompt() {
- var notice = getcookie('creditnotice').split('D');
- var basev = getcookie('creditbase').split('D');
- var creditrule = decodeURI(getcookie('creditrule', 1)).replace(String.fromCharCode(9), ' ');
- if(!discuz_uid || notice.length < 2 || notice[9] != discuz_uid) {
- setcookie('creditnotice', '');
- setcookie('creditrule', '');
- return;
- }
- var creditnames = creditnotice.split(',');
- var creditinfo = [];
- var e;
- for(var i = 0; i < creditnames.length; i++) {
- e = creditnames[i].split('|');
- creditinfo[e[0]] = [e[1], e[2]];
- }
- creditShow(creditinfo, notice, basev, 0, 1, creditrule);
- }
Скопировать код- function creditShow(creditinfo, notice, basev, bk, first, creditrule) {
- var s = '', check = 0;
- for(i = 1; i <= 8; i++) {
- v = parseInt(Math.abs(parseInt(notice[i])) / 5) + 1;
- if(notice[i] !== '0' && creditinfo[i]) {
- s += '<span>' + creditinfo[i][0] + (notice[i] != 0 ? (notice[i] > 0 ? '<em>+' : '<em class="desc">') + notice[i] + '</em>' : '') + creditinfo[i][1] + '</span>';
- }
- if(notice[i] > 0) {
- notice[i] = parseInt(notice[i]) - v;
- basev[i] = parseInt(basev[i]) + v;
- } else if(notice[i] < 0) {
- notice[i] = parseInt(notice[i]) + v;
- basev[i] = parseInt(basev[i]) - v;
- }
- if($('hcredit_' + i)) {
- $('hcredit_' + i).innerHTML = basev[i];
- }
- }
- for(i = 1; i <= 8; i++) {
- if(notice[i] != 0) {
- check = 1;
- }
- }
- if(!s || first) {
- setcookie('creditnotice', '');
- setcookie('creditbase', '');
- setcookie('creditrule', '');
- if(!s) {
- return;
- }
- }
- if(!$('creditpromptdiv')) {
- showPrompt(null, null, '<div id="creditpromptdiv">' + (creditrule ? '<i>' + creditrule + '</i> ' : '') + s + '</div>', 0);
- } else {
- $('creditpromptdiv').innerHTML = s;
- }
- setTimeout(function () {hideMenu(1, 'prompt');$('append_parent').removeChild($('ntcwin'));}, 1500);
- }
Скопировать код |
|