//滚动到页面顶部
function gotop() {
$('html, body').animate({ scrollTop: 0 }, 'slow');
}
//读写cookie函数
function GetCookie(c_name) {
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name + "=")
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
c_end = document.cookie.indexOf(";", c_start);
if (c_end == -1) {
c_end = document.cookie.length;
}
return unescape(document.cookie.substring(c_start, c_end));
}
}
return null
}
function SetCookie(c_name, value, expiredays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + expiredays);
document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString()); //使设置的有效时间正确。增加toGMTString()
}
//全局消息提示框,生成一个随机id
function guid() {
function S4() {
return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
}
return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4());
}
var _DedeConfirmFuncs = {};
var _DedeConfirmFuncsClose = {};
function __DedeConfirmRun(modalID) {
_DedeConfirmFuncs[modalID]();
}
function __DedeConfirmRunClose(modalID) {
_DedeConfirmFuncsClose[modalID]();
}
function DedeConfirm(content="",title="确认提示") {
let modalID = guid();
return new Promise((resolve, reject) => {
_DedeConfirmFuncs[modalID] = ()=>{
resolve("success");
CloseModal(`DedeModal${modalID}`);
}
_DedeConfirmFuncsClose[modalID] = ()=>{
reject("cancel");
CloseModal(`DedeModal${modalID}`);
}
let footer = ` `;
let modal = `
`;
$("body").append(modal)
$("#DedeModal" + modalID).modal({
backdrop: 'static',
show: true
});
$("#DedeModal" + modalID).on('hidden.bs.modal', function (e) {
$("#DedeModal" + modalID).remove();
})
})
}
//函数会返回一个modalID,通过这个id可自已定义一些方法,这里用到了一个展开语法:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Spread_syntax
function ShowMsg(content, ...args) {
title = "系统提示";
if (typeof content == "undefined") content = "";
modalID = guid();
var footer = ``;
var noClose = false;
if (args.length == 1) {
//存在args参数
if (typeof args[0].title !== 'undefined' && args[0].title != "") {
title = args[0].title;
}
if (typeof args[0].footer !== 'undefined' && args[0].footer != "") {
footer = args[0].footer;
}
if (typeof args[0].noClose !== 'undefined' && args[0].noClose == true) {
noClose = true;
}
}
String.prototype.replaceAll = function (s1, s2) {
return this.replace(new RegExp(s1, "gm"), s2);
}
footer = footer.replaceAll("~modalID~", modalID);
content = content.replaceAll("~modalID~", modalID);
var modal = ``;
$("body").append(modal)
$("#DedeModal" + modalID).modal({
backdrop: 'static',
show: true
});
$("#DedeModal" + modalID).on('hidden.bs.modal', function (e) {
$("#DedeModal" + modalID).remove();
})
return modalID;
}
//隐藏并销毁modal
function CloseModal(modalID) {
$("#" + modalID).modal('hide');
$("#" + modalID).on('hidden.bs.modal', function (e) {
if ($("#" + modalID).length > 0) {
$("#" + modalID).remove();
}
})
}
//在某个元素内显示alert信息
function ShowAlert(ele, content, type, showtime = 3000) {
let msg = `
${content}
`;
$(ele).html(msg);
$(ele).show();
setTimeout(() => {
$(ele).html("");
}, showtime);
}
//提交纠错信息
function ErrAddSaveDo(modalID) {
let aid = $("#iptID").val();
let title = $("#iptTitle").val();
let type = $("#selType").val();
let err = $("#iptErr").val();
let erradd = $("#iptErradd").val();
let parms = {
format: "json",
dopost: "saveedit",
aid: aid,
title: title,
type: type,
err: err,
erradd: erradd,
};
$("#btnSubmit").attr("disabled", "disabled");
if (typeof PHPURL === "undefined") {
const PHPURL = "/plus";
}
$.post(PHPURL + "/erraddsave.php", parms, function (data) {
let result = JSON.parse(data);
if (result.code === 200) {
CloseModal(modalID);
} else {
ShowAlert("#error-add-alert", `提交失败:${result.msg}`, "danger");
}
$("#btnSubmit").removeAttr("disabled");
});
}
//错误提示
function ErrorAddSave(id, title) {
let content = `
`;
let footer = `
`;
ShowMsg(content, {
'footer': footer,
});
}
//页面加载触发
$(document).ready(function () {
window.onscroll = function () { scrollFunction() };
function scrollFunction() {
if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
$("#btnScrollTop").show();
} else {
$("#btnScrollTop").hide();
}
}
});