/* * 依赖:jquery,bootstrap * 一些bootstrap页面的帮助方法 * Copyright (c) 2016 chinaxiaofei@mypc.com */ /*【弹出对话框,显示消息或嵌入网址】 * title:对话框标题 * text:对话框提示信息,有src是可为空 * src:对话框嵌入网址,可为空 * nSize12345:对话框尺寸,1小2中3大4加大5全屏,其他值默认中 * sOkCallback:确定回调方法字符串,比如"alert('ok', {json})",{json}可选,如果包含{json}则需要替换为全局变量:_myp2c_bs_OpenDlg_json。 * sOkBtnText:确定按钮文字,''将隐藏确定按钮。 * sCancelBtnText:取消按钮文字,''将隐藏确定按钮。 * nBtnAlign123:按钮位置1左2中3右,默认3。 * sDogText:看门狗勾选文字 * bNoBgClose:无无背景关门功能。 * bNoXbtnClose:无关闭按钮功能。 * nSrcH1234X:iframe的高度控制,1表示300,2表示400,3表示480,4表示600,值大于100时理解为实际像素。 * nDogTimeSeconds:按钮延迟激活秒数。 * sOtherBtnText:其他按钮文字,''将隐藏其他按钮。 * sOtherBtnCallback:其他按钮回调方法字符串,比如"alert('ok')"。 * * 例如1:_myp2c_bs_OpenDlg('提示信息','提示内容','',1,null,'关闭提示框','','3','',false, false,2); * 例如2:_myp2c_bs_OpenDlg('确定信息','描述信息','',2,"alert('ok')",'确定','取消','3','',false, false,2); * 例如3:_myp2c_bs_OpenDlg('嵌入响应式网页框','','www.baidu.com',3,null,'','','3','',false, false,2); * */ _myp2c_bs_OpenDlg_nDogTimeSeconds = 0; _myp2c_bs_OpenDlg_nDogTimeSeconds_ok = 0; _myp2c_bs_OpenDlg_nDogTimeSeconds_textok = ''; function _myp2c_bs_OpenDlg_LoopTime() { var div_ok = $('#myp2c_bs_OpenDlg_ok'); if (_myp2c_bs_OpenDlg_nDogTimeSeconds_ok < _myp2c_bs_OpenDlg_nDogTimeSeconds) { div_ok.attr('disabled', 'disabled'); div_ok.html("(" + _myp2c_bs_OpenDlg_nDogTimeSeconds_ok + "/" + _myp2c_bs_OpenDlg_nDogTimeSeconds + "秒)"); _myp2c_bs_OpenDlg_nDogTimeSeconds_ok += 1; setTimeout(_myp2c_bs_OpenDlg_LoopTime, 1000); } else { div_ok.html(_myp2c_bs_OpenDlg_nDogTimeSeconds_textok); div_ok.removeAttr('disabled'); } } //*** 用于为回调方法传递json参数 *** */ var _myp2c_bs_OpenDlg_json = {}; function _myp2c_bs_OpenDlg_GetJson() { return _myp2c_bs_OpenDlg_json; } function _myp2c_bs_OpenDlg_SetJson(j) { _myp2c_bs_OpenDlg_json = j; } //************************************* */ var _myp2c_bs_OpenDlg_win = null; function _myp2c_bs_OpenDlg(title, text, src, nSize12345, sOkCallback, sOkBtnText, sCancelBtnText, nBtnAlign123, sDogText, bNoBgClose, bNoXbtnClose, nSrcH1234X, nDogTimeSeconds, sOtherBtnText, sOtherBtnCallback, jsonObj) { try { //*** 初始化json对象 **/ if (jsonObj) { _myp2c_bs_OpenDlg_SetJson(jsonObj); } //****************** */ var dlg = $('#myp2c_bs_OpenDlg_div'); if (dlg.length > 0) { dlg.remove(); } var src_height = '400'; if (nSrcH1234X == 1) { src_height = '300'; } else if (nSrcH1234X == 2) { src_height = '400'; } else if (nSrcH1234X == 3) { src_height = '480'; } else if (nSrcH1234X == 4) { src_height = '600'; } else if (nSrcH1234X > 100) { src_height = nSrcH1234X; } var html = ""; dlg = $(html).appendTo('body'); // if (dlg.length > 0) { //确定按钮 var btnOk = dlg.find('#myp2c_bs_OpenDlg_ok'); if (sOkBtnText != '') { btnOk.css('display', ''); btnOk.html(sOkBtnText); btnOk.off('click'); btnOk.on('click', function (e) { var callOk = sOkCallback; if (callOk != '') { if (callOk.indexOf('{json}' > 0)) { callOk = callOk.replace('{json}', '_myp2c_bs_OpenDlg_json'); } } if (sDogText != '') { if ($('#myp2c_bs_OpenDlg_dogcheck').is(':checked')) { _myp2c_bs_OpenDlg_win.hide(); if (callOk != '') { eval(callOk); } } } else if (callOk != '') { if (eval(callOk) !== false) { _myp2c_bs_OpenDlg_win.hide(); } } else { _myp2c_bs_OpenDlg_win.hide(); } }); if (nDogTimeSeconds > 0) { _myp2c_bs_OpenDlg_nDogTimeSeconds = nDogTimeSeconds; _myp2c_bs_OpenDlg_nDogTimeSeconds_textok = sOkBtnText; _myp2c_bs_OpenDlg_LoopTime(); } else if (sDogText != '') { document.getElementById('myp2c_bs_OpenDlg_dogcheck').checked = true; } } else { btnOk.css('display', 'none'); } //其他按钮 if (sOtherBtnText != '') { var btnOther = dlg.find('#myp2c_bs_OpenDlg_OtherBtn'); btnOther.off('click'); btnOther.on('click', function (e) { if (sOtherBtnCallback != '') { if (eval(sOtherBtnCallback) !== false) { _myp2c_bs_OpenDlg_win.hide(); } } else { _myp2c_bs_OpenDlg_win.hide(); } }); } // var msg = "
" + text + "
"; if (src != '') { msg = ""; } $('#myp2c_bs_OpenDlg_body').html(msg); //显示 _myp2c_bs_OpenDlg_win = new bootstrap.Modal(document.getElementById('myp2c_bs_OpenDlg_div'), { backdrop: (bNoBgClose ? 'static' : true), keyboard: (bNoBgClose ? false : true) }); _myp2c_bs_OpenDlg_win.show(); } } catch (err) { alert(err); } } /*弹出对话框*/ function myp2c_bs_OpenDlg(title, text, nSize12345, sOkCallback, sOkBtnText, sCancelBtnText, bNoBgClose, bNoXbtnClose) { _myp2c_bs_OpenDlg(title, text, '', nSize12345, sOkCallback, sOkBtnText, sCancelBtnText, '3', '', bNoBgClose, bNoXbtnClose, '', 0, '', '', null); } /*弹出有其他按钮的对话框*/ function myp2c_bs_OpenDlgHaveOtherBtn(title, text, nSize12345, sOkCallback, sOkBtnText, sCancelBtnText, bNoBgClose, bNoXbtnClose, sOtherBtnText, sOtherBtnCallback) { _myp2c_bs_OpenDlg(title, text, '', nSize12345, sOkCallback, sOkBtnText, sCancelBtnText, '3', '', bNoBgClose, bNoXbtnClose, '', 0, sOtherBtnText, sOtherBtnCallback, null); } /*弹出网页框*/ function myp2c_bs_OpenIframe(title, src, nSize12345, sOkCallback, sOkBtnText, sCancelBtnText, bNoBgClose, bNoXbtnClose, nSrcH1234X, jsonObj) { _myp2c_bs_OpenDlg(title, '', src, nSize12345, sOkCallback, sOkBtnText, sCancelBtnText, '3', '', bNoBgClose, bNoXbtnClose, nSrcH1234X, 0, '', '', jsonObj); } /*弹出看门狗信息*/ function myp2c_bs_OpenDog(title, src, nSrcH1234X, nSize12345, sOkBtnText, sDogText, nBtnAlign123) { _myp2c_bs_OpenDlg(title, '', src, nSize12345, '', sOkBtnText, '', nBtnAlign123, sDogText, true, true, nSrcH1234X, 0, '', '', null); } /*弹出看门狗信息规定阅读秒数后才能关闭*/ function myp2c_bs_OpenDogTime(title, src, nSrcH1234X, nSize12345, sOkBtnText, sDogText, nBtnAlign123, nDogTimeSeconds, sOkCallback) { _myp2c_bs_OpenDlg(title, '', src, nSize12345, sOkCallback, sOkBtnText, '', nBtnAlign123, sDogText, true, true, nSrcH1234X, nDogTimeSeconds, '', '', null); } /*弹出输入框,参数callback如:alert({v})*/ var _myp2c_bs_OpenInput_win = null; function myp2c_bs_OpenInput(title, textLabel, sOkCallback, sOkBtnText, sValue, IsM) { var dlg = $('#myp2c_bs_OpenInput_div'); if (dlg.length == 0) { var html = ""; dlg = $(html).appendTo('body'); } // if (dlg.length > 0) { var fm = "
" + "
" + "" + (IsM ? "" : "") + "
" "
"; $('#myp2c_bs_OpenInput_body').html(fm); $('#myp2c_bs_OpenInput_title').html((title == '' ? '输入框' : title)); $('#myp2c_bs_OpenInput_ok').html((sOkBtnText == '' ? '确定' : sOkBtnText)); //显示 _myp2c_bs_OpenInput_win = new bootstrap.Modal(document.getElementById('myp2c_bs_OpenInput_div'), { backdrop: true }); _myp2c_bs_OpenInput_win.show(); // $('#myp2c_bs_OpenInput_ok').off('click'); $('#myp2c_bs_OpenInput_ok').on('click', function (e) { if (sOkCallback != '') { var val = $('#myp2c_bs_OpenInput_value').val(); if (sOkCallback.indexOf('{v}') > 0) { sOkCallback = sOkCallback.replace('{v}', 'val'); } eval(sOkCallback); } _myp2c_bs_OpenInput_win.hide(); }); } } //回车登录 function myp2c_bs_OpenInput_KeyOk() { if (event.which == 13) { $('#myp2c_bs_OpenInput_ok').click(); } } /*滚动到指标位置,参数offsetY是整数单位像素表示滚动到id位置时顶部保留的距离*/ function myp2c_bs_ScrollTopId(sDivId, offsetY) { var div = document.getElementById(sDivId); if (div) { myp2c_bs_ScrollTopNum($(div).offset().top - offsetY); } } /*滚动到指标位置*/ function myp2c_bs_ScrollTopNum(scrollTop) { $("html,body").stop(true); $("html,body").animate({ scrollTop: scrollTop }, 300); }