您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Xtiper 是一款整合 PC 、移动端的弹层弹窗(甚至还有弹幕)解决方案。采用原生的 javascript 编写,体积小,不依赖任何 js 库,不加载任何图片,使用方便。
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/449512/1081247/Xtiper.js
- (function(){
- let cssResource = `@charset "utf-8";
- html, body {overflow-x:hidden;}
- body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,code,pre,form,fieldset,legend,input,button,textarea,area,blockquote,th,td,p {margin:0; padding:0;}
- .xtiper {position:relative;}
- .xtiper_msg {transition-duration:0.2s; transition-timing-function:ease-out; transition-property:transform,opacity;}
- .xtiper_msg {max-width:752px; position:fixed; left:50%; height:50px; line-height:50px; font-size:14px; border-radius:3px; overflow:hidden; z-index:99999; opacity:0; box-shadow:0 0 10px rgba(0,0,0,0.2);}
- .xtiper_msg_black {background-color:rgba(0,0,0,0.75); color:#fff;}
- .xtiper_msg_white {background-color:rgba(255,255,255,0.95); color:#222;}
- .xtiper_msg_middle {top:50%; margin-top:-25px; transform:scale(0,0);}
- .xtiper_msg_top {transform:translate(0, -100%) scale(1, 1); top:0;}
- .xtiper_msg_bottom {transform:translate(0, 100%) scale(1, 1); bottom:0;}
- .xtiper_msg.xon {opacity:1;}
- .xtiper_msg_middle.xon {transform:scale(1,1);}
- .xtiper_msg_top.xon {transform:translate(0, 0) scale(1, 1);}
- .xtiper_msg_bottom.xon {transform:translate(0, 0) scale(1, 1);}
- .xtiper_msg p {padding:0 24px; word-spacing:nowrap;}
- .xtiper_danmu {border:3px solid transparent; left:0; transition-property:none; opacity:1; background-origin:content-box; font-size:16px; font-weight:bold;}
- .xtiper_danmu_animate {animation:danmu_animate 6s 1 linear; -webkit-animation:danmu_animate 6s 1 linear;}
- .xtiper_danmu_light {border:3px solid red;}
- @keyframes danmu_animate
- {
- 100% {transform:translateX(-102%);}
- }
- .xtiper_tips {position:absolute; z-index:99999; max-width:200px; opacity:0; transform:scale(0,0); transition-duration:0.1s; transition-timing-function:ease-in; transition-property:opacity,transform; box-shadow:0 0 5px rgba(0,0,0,0.3);}
- .xtiper_tips.xon {transition-duration:0.2s; opacity:1; transform:scale(1,1);}
- .xtiper_tips p {padding:10px 16px; background-color:#000; border-radius:3px; color:#fff; line-height:18px; font-size:12px; position:relative; z-index:2;}
- .xtiper_tips em {display:block; position:absolute; width:10px; height:10px; background-color:#000; transform: rotate(45deg); box-shadow:0 0 5px rgba(0,0,0,0.3); z-index:1;}
- .xtiper_tips_left em {top:12px; right:-4px;}
- .xtiper_tips_right em {top:12px; left:-4px;}
- .xtiper_tips_top em {left:12px; bottom:-4px;}
- .xtiper_tips_bottom em {left:12px; top:-4px;}
- .xtiper_win {z-index:99999;}
- .xtiper_win_fixed {width:100%; height:100%; position:fixed; top:0; left:0; z-index:99999;}
- .xtiper_bg {width:100%; height:100%; position:absolute; top:0; left:0; z-index:1; background-color:rgba(0,0,0,0); transition-duration:0.1s; transition-timing-function:ease-in; transition-property:background-color,opacity;}
- .xtiper_bg.xmin {display:none;}
- .xtiper_bg_white {background-color:rgba(255,255,255,0); transition:0.05s ease-in;}
- .xtiper_win.xon .xtiper_bg {background-color:rgba(0,0,0,0.5);}
- .xtiper_win.xon .xtiper_bg_white {background-color:rgba(255,255,255,0.5); transition:0.05s ease-in;}
- .xtiper_main {width:300px; background-color:#fff; position:absolute; box-shadow:0 0 10px rgba(0,0,0,0.2); z-index:2; opacity:0; transition-duration:0.15s; transition-timing-function:ease-in; transition-property:opacity,transform; transform:scale(0,0);}
- .xtiper_main.xapp {background-color:transparent;}
- .xtiper_main_photo {transition-property:opacity,transform,height,top;}
- .xtiper_main_photo.xon {transition-property:opacity,transform,height;}
- .xtiper_win.xon .xtiper_main {transform:scale(1,1); opacity:1;}
- .xtiper_win.xon .xtiper_main, .xtiper_win.xon .xtiper_bg {transition-duration:0.2s; transition-timing-function:ease-in;}
- .xtiper_win.xoff .xtiper_bg {opacity:0;}
- .xtiper_win.xoff .xtiper_main {transform:scale(0,0); opacity:0;}
- .xtiper_tit {height:40px; line-height:40px; color:#222; font-size:14px; background-color:#f8f8f8; padding:0 18px; position:relative; user-select:none; cursor:move;}
- .xtiper_tit:after {content:""; display:block; width:100%; height:1px; background-color:#eee; position:absolute; bottom:0; left:0;}
- .xtiper_tit_none {height:8px; background-color:#f0f0f0;}
- .xtiper_tit.xminmax {cursor:default;}
- .xtiper_tit p {text-overflow:ellipsis; overflow:hidden; white-space:nowrap; margin-right:28px;}
- .xtiper_tit.xmcss1 p {margin-right:62px;}
- .xtiper_tit.xmcss2 p {margin-right:96px;}
- .xtiper_tit.xmin p {margin-right:62px;}
- .xtiper_minmax {position:absolute; top:5px; right:6px;}
- .xtiper_close {z-index:10;}
- .xtiper_close, .xtiper_min, .xtiper_max {width:30px; height:30px; cursor:pointer; box-sizing:border-box; margin-right:4px; float:left; background-size:18px; background-repeat:no-repeat; background-position:center center; position:relative;}
- .xtiper_minmax div:last-child {margin-right:0;}
- .xtiper_close:before, .xtiper_close:after {content:""; display:block; width:14px; height:2px; background-color:#2d2c3b; position:absolute; top:14px; left:8px;}
- .xtiper_close:before {transform:rotate(45deg);}
- .xtiper_close:after {transform:rotate(-45deg);}
- .xtiper_close:hover, .xtiper_min:hover, .xtiper_max:hover {opacity:0.8;}
- .xtiper_close:before, .xtiper_close:after {transition-duration:0.2s; transition-timing-function:ease-in; transition-property:transform;}
- .xtiper_close:hover:before {transform:rotate(135deg);}
- .xtiper_close:hover:after {transform:rotate(45deg);}
- .xtiper_close_notit {margin-right:0; background-color:#333; border:3px solid #fff; position:absolute; top:-10px; right:-10px; border-radius:50%; transition-duration:0.2s; transition-timing-function:ease-in; transition-property:background-color;}
- .xtiper_close_notit:before, .xtiper_close_notit:after {background-color:#fff; top:11px; left:5px;}
- .xtiper_close_notit:hover {opacity:1; background-color:#2b84d0;}
- .xtiper_close_notitmin:before, .xtiper_close_notitmin:after {top:7px; left:3px; width:10px;}
- .xtiper_close_notitmin {width:20px; height:20px; border-width:2px}
- .xtiper_close_photoapp {top:6px; right:6px; background-color:transparent;}
- .xtiper_close_photoapp:hover {background-color:transparent;}
- .xtiper_close_photoapp:hover:before {transform:rotate(45deg);}
- .xtiper_close_photoapp:hover:after {transform:rotate(-45deg);}
- .xtiper_close_load {position:absolute; top:0; right:0;}
- .xtiper_photo {position:relative; overflow:hidden; transition-property:transform,opacity;}
- .xtiper_photo_ul {padding:0 60px; height:100%;}
- .xtiper_photo_ul ul {height:calc(100% - 26px); position:relative; overflow:hidden;}
- .xtiper_photo_li {width:100%; height:100%; position:absolute; top:0; left:0; text-align:center; opacity:0; transform:scale(0, 0); transition-duration:0.3s; transition-timing-function:ease-out; transition-property:transform,opacity;}
- .xtiper_photo_li.xon {opacity:1; transform:scale(1, 1);}
- .xtiper_photo_li.xold_prev {transform:scale(1, 1) translate(100%, 0);}
- .xtiper_photo_li.xold_next {transform:scale(1, 1) translate(-100%, 0);}
- .xtiper_sheet {width:100%; background-color:#fff; bottom:0; left:0; position:absolute; z-index:2; transition:0.1s ease-in; transition-property:transform; transform:translate(0, 100%);}
- .xtiper_sheet_ul, .xtiper_sheet_tit {background-color:#efeff4;}
- .xtiper_win.xon .xtiper_sheet {transition:0.2s ease-in; transform:translate(0, 0);}
- .xtiper_win.xoff .xtiper_sheet {transform:translateY(100%);}
- .xtiper_sheet_left {text-align:left;}
- .xtiper_sheet_right {text-align:right;}
- .xtiper_sheet_center {text-align:center;}
- .xtiper_sheet_tit {padding:15px; font-size:15px; color:#222; line-height:20px; font-weight:bold;}
- .xtiper_sheet_li {font-size:14px; height:48px; line-height:48px; background-color:#fff; border-top:1px solid #d9d9d9; cursor:pointer; color:#222; user-select:none; -ms-user-select:none;}
- .xtiper_sheet_li a {display:block; width:100%; color:#222; text-decoration:none;}
- .xtiper_sheet_li a:hover {color:#222; text-decoration:none;}
- .xtiper_sheet_li p {padding:0 15px;}
- .xtiper_sheet_li.xlast {margin-top:8px; border-top:0;}
- .xtiper_min {background-image:url("data:image/svg+xml,%3Csvg width='600' height='600' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M949.2 560.2H74.8c-26.6 0-48.2-21.6-48.2-48.2 0-26.6 21.6-48.2 48.2-48.2H949.2c26.6 0 48.2 21.6 48.2 48.2 0 26.6-21.6 48.2-48.2 48.2z' fill='%232d2c3b'/%3E%3C/svg%3E");}
- .xtiper_min.xon {margin-right:0; background-image:url("data:image/svg+xml,%3Csvg width='2000' height='2000' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M879.1 783.6h-60.4a34.3 34.3 0 0 1 0-68.6h60.4c14.3 0 26.6-11.8 26.6-26.6V142.6c0-14.3-11.8-26.6-26.6-26.6H332.8c-14.3 0-26.6 11.8-26.6 26.6v60.4a34.3 34.3 0 0 1-68.6 0V142.6c0-52.2 42.5-94.72 94.72-94.7h546.3c52.2 0 94.72 42.5 94.72 94.7v546.3c0.5 52.2-42.5 94.72-94.2 94.7z' fill='%232c2c2c'/%3E%3Cpath d='M708.1 964.3H162.3c-57.9 0-103.9-47.1-103.9-103.9V312.6c0-57.9 47.1-103.9 103.9-103.9h546.3c57.9 0 103.9 47.1 103.9 103.9v546.8c0.5 58.4-46.08 104.96-104.4 104.96zM162.3 276.72c-19.5 0-35.84 16.4-35.84 35.8v546.8c0 19.5 16.4 35.84 35.84 35.84h546.3c19.5 0 35.84-16.4 35.84-35.84V312.6c0-19.5-16.4-35.84-35.84-35.8H162.3z' fill='%232d2c3b'/%3E%3C/svg%3E");}
- .xtiper_max {background-image:url("data:image/svg+xml,%3Csvg width='600' height='600' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M944.0 0.8H79.1C35.8 0.8 0.3 36.2 0.3 79.4v864.5c0 43.2 35.4 78.6 78.7 78.6h865.9c43.3 0 78.7-35.4 78.7-78.6V79.4C1023.7 36.2 988.3 0.8 944.0 0.8z m0 943.1H79.1V79.4h865.9v864.5z m0 0' fill='%23231814'/%3E%3Cpath d='M342.8 735.7l137.8-137.5c15.7-15.7 15.7-39.3 0-55.0-15.7-15.7-39.4-15.7-55.1 0l-137.8 137.5-90.5-90.4V826.0h236.2l-90.5-90.4z m228.3-243.6c11.8 0 19.7-3.9 27.6-11.8l137.8-137.5 90.5 90.4V197.3H590.7l90.5 90.4-137.8 137.5c-15.7 15.7-15.7 39.3 0 55.0 7.9 7.9 19.7 11.8 27.5 11.8z m0 0' fill='%232d2c3b'/%3E%3C/svg%3E");}
- .xtiper_max.xon {background-image:url("data:image/svg+xml,%3Csvg width='600' height='600' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M944.0 0.8H79.1C35.8 0.8 0.3 36.2 0.3 79.4v864.5c0 43.2 35.4 78.6 78.7 78.6h865.9c43.3 0 78.7-35.4 78.7-78.6V79.4C1023.7 36.2 988.3 0.8 944.0 0.8z m0 943.1H79.1V79.4h865.9v864.5z m0 0' fill='%23231814'/%3E%3Cpath d='M346.7 621.7l-137.8 137.5c-15.7 15.7-15.7 39.3 0 55.0 15.7 15.7 39.4 15.7 55.1 0l137.8-137.5 90.5 90.4V531.3H256.2l90.5 90.4zM787.5 197.3c-11.8 0-19.7 3.9-27.6 11.8l-137.8 137.5-90.5-90.4v235.8h236.2l-90.5-90.4 137.8-137.5c15.7-15.7 15.7-39.3 0-55.0-7.9-7.9-19.7-11.8-27.5-11.8z' fill='%232d2c3b'/%3E%3C/svg%3E");}
- .xtiper_times {color:#e85445;}
- .xtiper_pad {padding:15px;}
- .xtiper_tip {font-size:14px; line-height:20px; min-height:60px; overflow:hidden;}
- .xtiper_btn ul {text-align:center; display:flex; overflow:hidden; border-top:1px solid #eaeaea; background-color:#fff;}
- .xtiper_btn ul:after {content:""; display:block; clear:both;}
- .xtiper_btn li {float:left; overflow:hidden; position:relative;}
- .xtiper_btn li:after {content:""; display:block; width:1px; height:40px; overflow:hidden; position:absolute; top:0; right:0; background-color:#eaeaea;}
- .xtiper_btn li.xactive:after {background-color:rgba(255,255,255,0.2);}
- .xtiper_btn1 li {width:100%; float:none;}
- .xtiper_btn2 li {width:50%;}
- .xtiper_btn3 li {width:33.3%; -webkit-box-flex:1; -ms-flex:1; flex:1;}
- .xtiper_btn4 li {width:25%; -webkit-box-flex:1; -ms-flex:1; flex:1;}
- .xtiper_btn li button {width:100%; height:40px; background-color:#fff; cursor:pointer; color:#222; font-size:14px; border:0;}
- .xtiper_btn li.xactive button {color:#fff;}
- .xtiper_btn li.xactive button {background-color:#a8a8a8;}
- .xtiper_btn_success li.xactive button, .xtiper_btn_hello li.xactive button, .xtiper_btn_success .xtiper_btnbor, .xtiper_btn_hello .xtiper_btnbor {background-color:#37b72c;}
- .xtiper_btn_error li.xactive button, .xtiper_btn_error .xtiper_btnbor {background-color:#e75445;}
- .xtiper_btn_warning li.xactive button, .xtiper_btn_ask li.xactive button, .xtiper_btn_warning .xtiper_btnbor, .xtiper_btn_ask .xtiper_btnbor {background-color:#f89310;}
- .xtiper_btn1 li.xactive button {background-color:#fff; color:#222;}
- .xtiper_btn li:last-child:after {display:none;}
- .xtiper_btn li button:hover {opacity:0.9;}
- .xtiper_btnbor {width:100%; height:4px; overflow:hidden; background-color:#c3c3c3; position:relative;}
- .xtiper_btnbor:after {content:""; display:block; width:100%; height:4px; background-color:rgba(0,0,0,0.1); position:absolute; top:0; left:0;}
- .xtiper_btn1 .xtiper_btnbor:after {display:none;}
- .xtiper_btn2 li:nth-child(2) {opacity:0.92;}
- .xtiper_btn3 li:nth-child(1) {opacity:0.84;}
- .xtiper_btn3 li:nth-child(2) {opacity:0.92;}
- .xtiper_btn4 li:nth-child(1) {opacity:0.76;}
- .xtiper_btn4 li:nth-child(2) {opacity:0.84;}
- .xtiper_btn4 li:nth-child(3) {opacity:0.92;}
- .xtiper_pr {position:relative;}
- .xtiper_content {height:100%; overflow:auto; position:relative;}
- .xtiper_content.xtit {height:calc(100% - 40px);}
- .xtiper_content.xmin {height:calc(100% - 8px);}
- .xtiper_over {overflow:hidden;}
- .xtiper_content .zw {width:100%; height:100%; overflow:hidden; position:absolute; top:0; left:0; display:none;}
- .xtiper_main.xon .xtiper_content .zw {display:block;}
- .xtiper_con {padding-top:8px; padding-bottom:12px;}
- .xtiper_con_icon {padding-left:42px;}
- .xtiper_conin {max-height:400px; overflow-x:hidden; overflow-y:auto;}
- .xtiper_conin::-webkit-scrollbar {width:5px;}
- .xtiper_conin::-webkit-scrollbar-track {background-color:#f1f1f1; border-radius:3px;}
- .xtiper_conin::-webkit-scrollbar-thumb {background-color:#c1c1c1; border-radius:3px;}
- .xtiper_loadin {width:34px; height:34px; display:block; position:absolute; top:50%; margin-top:-17px; left:50%; margin-left:-17px; opacity:0; transition:0.1s ease-in; transition-property:opacity; z-index:2;}
- .xtiper_loadin span {width:280px; position:absolute; top:36px; left:50%; margin-left:-140px; text-align:center; height:24px; line-height:24px; font-size:14px; color:#222; white-space:nowrap;}
- .xtiper_win.xon .xtiper_loadin {opacity:1; transition:0.2s ease-in;}
- .xtiper_icon {width:34px; height:34px; display:inline-block; background-size:100% 100%; background-repeat:no-repeat; position:absolute; top:0; left:0; vertical-align:middle;}
- .xtiper_icon img {width:34px; height:34px;}
- .xtiper_icon_min {width:20px; height:20px; position:static; top:auto; left:auto; transform:translateY(-1px); margin-right:5px;}
- .xtiper_icon_min img {width:20px; height:20px;}
- .xtiper_icon_success {background-image:url("data:image/svg+xml,%3Csvg width='600' height='600' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M512.7 0.1C230.4 0.1 0.8 229.8 0.8 512.1c0 282.3 229.6 511.9 511.0 511.9 282.3 0 511.9-229.6 511.9-511.9C1024.6 229.8 795.0 0.1 512.7 0.1z m0 950.5c-241.8 0-438.5-196.7-438.5-438.5 0-241.8 196.7-438.5 438.5-438.5 241.7 0 438.5 196.6 438.5 438.5-0.0 241.7-196.8 438.5-438.5 438.5z' fill='%2337b72c'/%3E%3Cpath d='M754.8 337.0L470.1 630.1l-178.5-155.2c-15.8-13.7-39.7-12.0-53.4 3.7-13.7 15.8-12.0 39.7 3.7 53.4l205.2 178.4a37.7 37.7 0 0 0 10.9 6.7 37.8 37.8 0 0 0 15.9 2.7 37.9 37.9 0 0 0 15.2-3.0c0.0-0.0 0.0 0.0 0.0-0.0a37.7 37.7 0 0 0 10.4-7.7l309.4-317.5c14.6-14.0 14.3-38.9-0.7-53.5-14.0-14.6-38.9-14.3-53.5 0.7z' fill='%2337b72c'/%3E%3C/svg%3E");}
- .xtiper_icon_error {background-image:url("data:image/svg+xml,%3Csvg width='600' height='600' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M512.7 1023.0C230.4 1023.0 0.7 794.4 0.7 512.1 0.8 229.8 230.4 0.1 512.7 0.1c282.3 0 511.9 229.6 511.9 511.0 0 282.2-229.6 511.9-511.9 511.9z m0-950.4c-241.8 0-438.5 196.6-438.5 438.5 0 241.7 196.7 438.5 438.5 438.5 241.7 0 438.5-196.7 438.5-438.5 0-241.8-196.8-438.5-438.5-438.5z m51.4 439.0l158.1-156.3c14.4-14.2 14.5-37.4 0.3-51.7-14.2-15.4-37.4-14.5-52.6-0.3l-157.4 156.5-155.9-156.4c-15.3-15.2-37.4-14.3-51.7 0-14.3 14.2-14.3 37.4 0 51.7l155.7 156.1-157.0 155.3c-14.4 14.2-14.5 37.3-0.3 51.7 7.2 7.2 16.6 10.9 25.0 10.9 9.3 0 18.6-3.6 25.8-10.6l157.2-155.5 158.4 159.0c7.2 6.2 16.6 10.7 25.0 10.7 9.3 0 18.7-4.5 25.8-10.6 14.3-14.3 14.4-37.4 0.1-51.7l-158.3-158.8z' fill='%23e75445'/%3E%3C/svg%3E");}
- .xtiper_icon_warning {background-image:url("data:image/svg+xml,%3Csvg width='600' height='600' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M512.7 0.1C230.4 0.1 0.8 229.8 0.8 512.1c0 282.3 229.6 511.9 511.0 511.9 282.3 0 511.9-229.6 511.9-511.9C1024.6 229.8 795.0 0.1 512.7 0.1z m0 950.5c-241.8 0-438.5-196.7-438.5-438.5 0-241.8 196.7-438.5 438.5-438.5 241.7 0 438.5 196.6 438.5 438.5 0 241.7-196.8 438.5-438.5 438.5z' fill='%23f89310'/%3E%3Cpath d='M511.6 681.4c-15.5 0-28.6 5.4-39.4 16.1s-16.1 23.7-16.1 38.0c0 17.5 5.6 31.1 16.8 40.8 11.2 9.7 24.3 14.6 39.4 14.6 14.8 0 27.7-4.9 38.8-14.8 11.1-9.9 16.6-23.4 16.6-40.6 0-15.3-5.5-28.3-16.4-38.0-10.0-10.7-24.2-16.1-39.7-16.1zM514.5 232.4c-17.5 0-31.6 5.7-42.3 17.2s-16.1 27.4-16.1 47.9c0 15.0 1.1 39.8 3.3 74.3l11.8 177.0c2.2 22.9 5.9 39.0 11.1 51.2 5.2 11.2 14.4 16.8 27.7 16.8 13.1 0 22.4-5.8 28.1-17.4 5.7-11.6 9.4-28.2 11.1-49.9l15.9-182.2c1.7-16.7 2.6-33.3 2.6-49.5 0-27.6-3.6-48.7-10.7-63.4-7.2-14.7-21.3-21.0-42.5-21.0z' fill='%23f89310'/%3E%3C/svg%3E");}
- .xtiper_icon_ask {background-image:url("data:image/svg+xml,%3Csvg width='600' height='600' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M512.7 0.1C230.4 0.1 0.8 229.8 0.8 512.1c0 282.3 229.6 511.9 511.0 511.9 282.3 0 511.9-229.6 511.9-511.9C1024.6 229.8 795.0 0.1 512.7 0.1z m0 950.5c-241.8 0-438.5-196.7-438.5-438.5 0-241.8 196.7-438.5 438.5-438.5 241.7 0 438.5 196.6 438.5 438.5 0 241.7-196.8 438.5-438.5 438.5z' fill='%23f89310'/%3E%3Cpath d='M513.9 681.3c-15.8 0-29.1 5.3-39.9 15.9-10.8 10.6-16.3 23.7-16.3 39.2 0 17.5 5.6 31.1 16.8 40.8 11.2 9.7 24.3 14.6 39.4 14.6 14.5 0 27.3-4.9 38.4-14.8 11.1-9.9 16.6-23.4 16.6-40.6 0-15.5-5.3-28.6-15.9-39.2-10.6-10.6-23.7-15.9-39.2-15.9zM617.4 252.0c-27.3-13.2-58.9-19.8-94.6-19.8-38.4 0-72.1 7.9-100.9 23.7-28.8 15.8-50.8 35.7-65.8 59.7-15.0 24.0-22.5 47.7-22.5 71.1 0 11.3 4.7 21.9 14.2 31.6 9.5 9.7 21.1 14.6 34.9 14.6 23.4 0 39.3-13.9 47.7-41.8 8.9-26.6 19.7-46.7 32.5-60.4 12.8-13.7 32.8-20.5 59.9-20.5 23.2 0 42.1 6.8 56.7 20.3 14.7 13.6 21.0 30.2 21.0 49.9 0 10.1-2.4 19.5-7.2 28.1-4.8 8.6-10.7 16.4-17.7 23.5s-18.4 17.4-34.2 31.2c-17.0 15.8-32.3 29.4-42.9 40.8-10.6 11.5-19.1 24.8-25.5 39.9-6.4 15.2-9.6 33.1-9.6 53.8 0 16.5 4.4 28.0 13.1 37.3 8.7 8.4 19.5 12.6 32.3 12.6 24.6 0 39.3-12.8 43.0-38.4 2.7-12.1 4.7-20.5 6.1-25.3 1.4-4.8 3.3-9.6 5.7-14.4 2.5-4.8 6.2-10.1 11.3-15.9 5.0-5.8 11.8-12.5 20.1-20.1 30.3-27.1 51.3-46.4 63.0-57.8 11.7-11.5 21.8-25.1 30.3-40.8 8.5-15.8 12.7-34.1 12.7-55.1 0-26.6-7.5-51.2-22.4-73.9-14.9-22.7-36.0-40.6-63.4-53.8z' fill='%23f89310'/%3E%3C/svg%3E");}
- .xtiper_icon_hello {background-image:url("data:image/svg+xml,%3Csvg width='600' height='600' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M512.7 0.1C230.4 0.1 0.8 229.8 0.8 512.1c0 282.3 229.6 511.9 511.0 511.9 282.3 0 511.9-229.6 511.9-511.9C1024.6 229.8 795.0 0.1 512.7 0.1z m0 950.5c-241.8 0-438.5-196.7-438.5-438.5 0-241.8 196.7-438.5 438.5-438.5 241.7 0 438.5 196.6 438.5 438.5-0.0 241.7-196.8 438.5-438.5 438.5z' fill='%2337b72c'/%3E%3Cpath d='M355.5 478.0c9.8-9.7 15.2-22.5 15.2-36.2v-72.1c0-27.0-22.8-50.8-50.7-50.8-28.0 0-50.8 22.8-50.8 50.8v72.1c0 27.0 22.8 50.8 50.8 50.8 13.3 0 25.9-5.1 35.5-14.6zM706.5 615.4c-13.7-11.8-37.6-8.9-49.4 4.9-41.6 46.3-84.9 65.0-145.1 65.0-62.8 0-100.7-17.2-144.8-65.7-12.2-14.2-35.0-17.0-49.7-5.2-15.1 13.1-17.4 35.3-5.0 49.9 59.1 66.8 114.9 92.8 199.5 92.8 82.0 0 145.4-29.5 199.6-92.9 12.1-13.0 9.8-36.7-5.1-49.6zM704.0 319.8c-28.0 0-50.7 22.8-50.7 50.8v72.1c0 28.1 22.8 50.8 50.7 50.8 28.0 0 50.7-22.8 50.7-50.8v-72.1c0-27.0-22.8-50.8-50.7-50.8z' fill='%2337b72c'/%3E%3C/svg%3E");}
- .xtiper_icon_load {background-image:url("data:image/svg+xml,%3Csvg width='600' height='600' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M979.73 513.01c-0.96-1.70-2.66-2.65-4.46-2.65h-69.90c0-84.45-26.02-162.63-70.11-227.32-0.53-0.85-0.95-1.91-1.52-2.76-4.57-6.59-9.67-11.69-14.55-19.02-1.81-2.37-3.51-4.78-5.42-7.12-7.22-8.92-14.87-17.20-22.73-25.38-0.74-0.85-1.49-1.59-2.23-2.34-25.50-26.88-56.41-49.50-89.13-67.56-0.83-0.53-1.70 0-2.55-1.49-9.35-5.10-19.02-9.77-28.89-14.13-2.44 0-4.78-2.23-7.22-3.29-8.39-3.51-15.94-6.59-25.6-8.50-4.15-1.38-8.18-2.86-12.32-4.15-7.54-2.23-15.30-4.16-23.05-6.05-5.21-1.17-10.31-2.55-15.62-3.51-2.12-0.42-3.18-1.17-6.37-1.49-7.33-1.28-14.77-2.02-22.10-2.98-2.65-0.30-4.25-0.74-7.91 0-13.28-1.27-26.45-2.23-39.63-2.23-80.51 0-159.12 24.96-226.58 72.76-21.46 15.30-26.77 45.25-11.68 67.02 15.09 21.78 44.72 27.09 66.28 11.79l3.31-0.71c52.37-36.11 112.60-55.77 176.33-54.92a329.67 329.67 0 0 1 24.64 1.24c3.29 0.32 6.59 0.85 9.99 1.27 6.37 0.85 12.75 1.70 18.00 2.97 3.83 0.75 7.65 1.70 11.37 2.66 6.16 1.48 12.20 2.92 18.16 4.68 2.87 0.85 5.64 1.91 8.50 2.86 6.90 2.34 13.70 4.78 20.39 7.54 1.49 0.64 2.98 1.38 4.46 2.02 7.86 3.47 15.51 7.11 22.94 11.15 0.32 0.21 0.64 0.32 0 0.53 25.18 14.02 48.23 31.55 68.52 51.95 0.32 0.32 0.63 0.74 0.96 0 6.27 5.31 12.32 13.06 17.95 19.97 1.17 1.48 2.34 3.08 3.51 4.56 41.22 52.16 66.07 118.12 66.07 189.93h-69.89c-1.81 0-3.51 0.96-4.46 2.65-0.96 1.70-0.74 3.72 0.21 5.21l117.38 178.24c0.96 1.38 2.44 2.33 3.19 2.33 1.70 0 3.29-0.95 3.19-2.33l117.38-178.24c0.96-1.52 1.17-3.51 0.21-5.21zM687.56 761.37l-3.30 0.71c-52.37 36.11-112.60 55.77-176.33 54.92a329.29 329.29 0 0 1-24.64-1.25c-3.29-0.32-6.59-0.85-9.99-1.27-6.37-0.85-12.75-1.70-19.00-2.97-3.83-0.74-7.65-1.70-11.36-2.66-6.17-1.48-12.20-2.92-18.16-4.67-2.87-0.85-5.64-1.91-8.50-2.87-6.90-2.33-13.70-4.78-20.39-7.54-1.49-0.64-2.98-1.38-4.46-2.02-7.86-3.47-15.51-7.11-22.94-11.15-0.32-0.21-0.64-0.32 0-0.53-25.18-14.02-48.22-31.55-68.52-51.95-0.32-0.32-0.63-0.74-0.95 0-6.27-5.31-12.32-13.06-17.95-19.97-1.17-1.49-2.35-3.08-3.51-4.56-41.21-52.16-66.07-118.12-66.07-189.93h69.89c1.81 0 3.51-0.96 4.46-2.65 0.96-1.70 0.74-3.72-0.21-5.21L168.24 327.54c-0.96-1.38-2.45-2.34-3.19-2.34-1.70 0-3.29 0.95-3.19 2.34L44.48 505.79c-0.95 1.52-1.17 3.50-0.22 5.21 0.96 1.70 2.66 2.65 4.46 2.65h69.90c0 84.45 26.02 162.63 70.11 227.32 0.53 0.85 0.95 1.91 1.52 2.76 4.57 6.59 9.67 11.69 14.55 19.02 1.81 2.37 3.51 4.78 5.42 7.12 7.22 8.92 14.87 17.20 22.73 25.38 0.74 0.85 1.49 1.59 2.23 2.34 25.50 26.87 56.41 49.50 89.13 67.55 0.83 0.53 1.70 0 2.55 1.49 9.35 5.10 19.02 9.77 28.90 14.13 2.44 0 4.78 2.23 7.22 3.29 8.39 3.51 15.94 6.59 25.60 8.50 4.14 1.38 8.18 2.87 12.32 4.15 7.54 2.23 15.30 4.16 23.05 6.05 5.21 1.17 10.30 2.55 15.62 3.50 2.12 0.42 3.19 1.17 6.37 1.49 7.33 1.28 14.77 2.02 22.10 2.97 2.66 0.30 4.25 0.75 7.91 0 13.28 1.28 26.45 2.23 39.63 2.23 80.51 0 159.12-24.96 226.58-72.76 21.45-15.30 26.77-45.26 11.68-67.02-15.08-21.78-44.72-27.09-66.28-11.79z' fill='%23333333'/%3E%3C/svg%3E");}
- .xtiper_icon_load {animation:revolve 1.5s infinite linear; -webkit-animation:revolve 1.5s infinite linear;}
- @keyframes revolve
- {
- 0% {transform:rotate(0deg);}
- 100% {transform:rotate(360deg);}
- }
- @media (max-width: 760px) {
- .xtiper_msg {max-width:80%;}
- }
- @media (max-width: 480px) {
- .xtiper_msg {max-width:300px;}
- .xtiper_photo_ul {padding:0;}
- .xtiper_photo_btn {display:none;}
- }
- .xtiper_photo_li p {width:100%; max-height:100%; min-height:100px; position:absolute; top:50%; transform:translate(0, -50%); background-position:center center; background-repeat:no-repeat; background-size:contain; background-color:#fff;}
- .xtiper_photo_li a {display:block; width:100%; height:100%; position:relative; z-index:2;}
- .xtiper_photo_load {position:absolute; top:50%; left:50%; margin-left:-17px; margin-top:-17px; z-index:1;}
- .xtiper_photo_li img {max-width:100%; visibility:hidden;}
- .xtiper_photo_li.xapp img {width:100%; visibility:visible; position:relative; z-index:2;}
- .xtiper_photo_btn {position:absolute; top:50%; transform:translate(0, -50%); width:32px; height:46px; overflow:hidden; cursor:pointer; z-index:2;}
- .xtiper_photo_prev {left:16px;}
- .xtiper_photo_next {right:16px;}
- .xtiper_photo_btn:before, .xtiper_photo_btn:after {content:""; display:block; width:26px; height:4px; background-color:#666; position:absolute; border-radius:4px; z-index:1;}
- .xtiper_photo_btn:hover {opacity:0.7;}
- .xtiper_photo_prev:before {transform:rotate(-45deg); top:13px; left:3px;}
- .xtiper_photo_prev:after {transform:rotate(45deg); top:29px; left:3px;}
- .xtiper_photo_next:before {transform:rotate(45deg); top:13px; right:3px;}
- .xtiper_photo_next:after {transform:rotate(-45deg); top:29px; right:3px;}
- .xtiper_photo_num {position:absolute; bottom:5px; text-align:center; left:50%; transform:translate(-50%, 0); font-size:13px; z-index:10; height:26px; line-height:26px; overflow:hidden; user-select:none; -ms-user-select:none;}
- .xtiper_nummax {padding-left:8px;}
- .xtiper_photo_num, .xtiper_nummax {display:none;}
- .xtiper_photo_num.xon, .xtiper_nummax.xon {display:inline-block;}
- `;
- let styleNode = document.createElement("style");
- styleNode.innerHTML= cssResource;
- document.head.append(styleNode);
- })();
- /*
- * author: ovsexia
- * version: 2.7.0
- * name: Xtiper
- * describe: 弹层弹窗解决方案
- * License: Mozilla Public License Version 2.0
- */
- ;!function(window, undefined){
- let Xclass = function(config){
- let that = this;
- //按钮失焦
- that.loseblur();
- //客户端
- that.ifmob = /Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent);
- //主id
- let rand = Math.random().toString().split('.')[1];
- let mainid = 'xtiper_'+rand;
- that.mainid = mainid;
- //参数配置
- config = that.namefix(config);
- that.c = config;
- let xcstr = '';
- if(typeof(config.reset)!="undefined" && config.reset!==null && config.reset===false){
- for(let key in config){
- if(config[key]!=null){
- xcstr += config[key].toString();
- }
- }
- that.xcstr = that.xcstrRep(xcstr);
- }else{
- that.xcstr = xcstr;
- }
- //关闭
- if(config.model=='close'){
- that.close(config.closeid);
- return false;
- }
- //关闭
- if(config.model=='closeAll'){
- that.closeAll();
- return false;
- }
- //入口
- that.creat();
- };
- Xclass.pt = Xclass.prototype;
- //让所有按钮失去焦点
- Xclass.pt.loseblur = function(){
- let button = document.getElementsByTagName('button');
- if(button.length>0){
- for(let i=0; i<button.length; i++){
- button[i].blur();
- }
- }
- let input = document.getElementsByTagName('input');
- if(input.length>0){
- for(let i=0; i<input.length; i++){
- input_type = input[i].getAttribute('type');
- if(input_type && (input_type=='button' || input_type=='submit')){
- input[i].blur();
- }
- }
- }
- };
- Xclass.pt.creat = function(){
- let that = this;
- let c = that.c;
- //1.构造内部html
- let html = that.html();
- if(!html){
- return false;
- }
- //2.输出html代码到body
- let body = document.body;
- let div = document.createElement('div');
- div.setAttribute('id', that.mainid);
- div.setAttribute('class', 'xtiper');
- div.innerHTML = html;
- body.appendChild(div);
- let xtipdiv = document.getElementById(that.mainid);
- that.xtipdiv = xtipdiv;
- //3.添加classname、属性
- that.attr();
- //4.添加动画效果
- that.on();
- //5.后续处理
- that.after();
- };
- //参数名称补全
- Xclass.pt.namefix = function(c){
- //方位
- if(c.pos){
- c.pos = c.pos.toLowerCase();
- if(c.pos=='t'){
- c.pos = 'top';
- }else if(c.pos=='b'){
- c.pos = 'bottom';
- }else if(c.pos=='l'){
- c.pos = 'left';
- }else if(c.pos=='r'){
- c.pos = 'right';
- }else if(c.pos=='m'){
- c.pos = 'middle';
- }
- }
- //类型
- if(c.type){
- c.type = c.type.toLowerCase();
- if(c.type=='r'){
- c.type = 'ready';
- }else if(c.type=='n'){
- c.type = 'noready';
- }else if(c.type=='notready'){
- c.type = 'noready';
- }else if(c.type=='u'){
- c.type = 'url';
- }else if(c.type=='h'){
- c.type = 'html';
- }else if(c.type=='p'){
- c.type = 'photo';
- }else if(c.type=='w'){
- c.type = 'white';
- }else if(c.type=='b'){
- c.type = 'black';
- }else if(c.type=='a'){
- c.type = 'alert';
- }else if(c.type=='c'){
- c.type = 'confirm';
- }
- }
- c.iconColor = '';
- //图标
- if(c.icon){
- if(typeof(c.icon)=='object'){
- c.iconColor = c.icon[1];
- c.icon = c.icon[0];
- }
- c.icon = c.icon.toLowerCase();
- c.iconFlag = true;
- if(c.icon=='s'){
- c.icon = 'success';
- }else if(c.icon=='e'){
- c.icon = 'error';
- }else if(c.icon=='w'){
- c.icon = 'warning';
- }else if(c.icon=='a'){
- c.icon = 'ask';
- }else if(c.icon=='h'){
- c.icon = 'hello';
- }
- if(c.icon !== 'success' && c.icon !== 'error' && c.icon !== 'warning' && c.icon !== 'ask' && c.icon !== 'hello'){
- c.iconFlag = false;
- }
- }
- //文字对齐
- if(c.align){
- c.align = c.align.toLowerCase();
- if(c.align=='l'){
- c.align = 'left';
- }else if(c.align=='c'){
- c.align = 'center';
- }else if(c.align=='r'){
- c.align = 'right';
- }
- }
- return c;
- };
- //构造内部html
- Xclass.pt.html = function(){
- let that = this;
- let c = that.c;
- let xtipdiv = that.xtipdiv;
- let html = '';
- //短消息
- if(c.model=='msg'){
- html += '<p>';
- if(c.icon){
- html += c.iconFlag===true ? '<i class="xtiper_icon xtiper_icon_'+c.icon+' xtiper_icon_min"></i>' : '<img class="xtiper_icon xtiper_icon_min" src="'+c.icon+'" />';
- }
- html += c.tip+'</p>';
- }
- //弹幕
- else if(c.model=='danmu'){
- let danmuli = document.getElementsByClassName('xtiper_danmu');
- if(danmuli.length>300 || document.hidden){
- return false;
- }
- html += '<p>';
- if(c.icon){
- html += c.iconFlag===true ? '<i class="xtiper_icon xtiper_icon_'+c.icon+' xtiper_icon_min"></i>' : '<img class="xtiper_icon xtiper_icon_min" src="'+c.icon+'" />';
- }
- html += c.tip+'</p>';
- }
- //气泡层
- else if(c.model=='tips'){
- that.newelement = document.getElementById(c.element) || c.element;
- if(c.bgcolor){
- html += '<p style="background-color:'+c.bgcolor+';'+(c.color ? ' color:'+c.color+';"' : '')+'">'+c.tip+'</p>';
- }else{
- html += '<p>'+c.tip+'</p>';
- }
- html += '<em style="background-color:'+c.bgcolor+';"></em>';
- if(c.closeBtn===true){
- html += '<div class="xtiper_close xtiper_close_notit xtiper_close_notitmin"></div>';
- }
- }
- //弹窗层
- else if(c.model=='win'){
- if(c.type=='alert'){
- c.btn = c.btn!=null ? c.btn : ['确定'];
- c.btn1 = c.btn1!=null ? c.btn1 : null;
- c.btn2 = null;
- c.btn3 = null;
- c.btn4 = null;
- }else if(c.type=='confirm'){
- c.btn = c.btn!=null ? c.btn : ['确定', '取消'];
- c.btn1 = c.btn1!=null ? c.btn1 : null;
- c.btn2 = c.btn2!=null ? c.btn2 : null;
- c.btn3 = c.btn3!=null ? c.btn3 : null;
- c.btn4 = c.btn4!=null ? c.btn4 : null;
- }
- xtiper_con_icon = c.icon ? ' xtiper_con_icon' : '';
- let btnclass = new Array();
- btnclass[0] = c.btn1!=null ? ' class="xactive"' : '';
- btnclass[1] = c.btn2!=null ? ' class="xactive"' : '';
- btnclass[2] = c.btn3!=null ? ' class="xactive"' : '';
- btnclass[3] = c.btn4!=null ? ' class="xactive"' : '';
- if(c.btnbg && c.btnbg.length){ //自定义按钮颜色
- for(let i=0; i<c.btnbg.length; i++){
- btnclass[i] = c.btnbg[i]===true ? ' class="xactive"' : '';
- }
- }
- let btnfun = new Array();
- btnfun[0] = c.btn1 || null;
- btnfun[1] = c.btn2 || null;
- btnfun[2] = c.btn3 || null;
- btnfun[3] = c.btn4 || null;
- that.btnfun = btnfun;
- if(c.maxWidth){
- c.width = that.maxSize(c.width, c.maxWidth);
- }
- if(c.shade===true){
- html += '<div class="xtiper_bg"></div>';
- }
- html += '<div class="xtiper_main"'+(c.width ? 'style="width:'+c.width+';"' : '')+'>';
- html += '<div class="xtiper_tit"><p>'+c.title+'</p><div class="xtiper_minmax">';
- if(c.min===true){
- html += '<div class="xtiper_min"></div>';
- }
- html += '<div class="xtiper_close"></div>';
- html += '</div></div>';
- let iconer = that.iconer();
- html += '<div class="xtiper_pad"><div class="xtiper_pr"><div class="xtiper_tip">'+iconer+'<div class="xtiper_con'+xtiper_con_icon+'"><div class="xtiper_conin">'+c.tip;
- if(c.type=='alert' && c.times > 0){
- c.times++;
- html += '(<span class="xtiper_times">'+c.times+'</span>)';
- }
- html += '</div></div></div></div></div>';
- html += '<div class="xtiper_btn'+(c.icon && c.iconFlag===true ? ' xtiper_btn_'+c.icon : '')+' xtiper_btn'+c.btn.length+'"><ul>';
- for(let i=0; i<4; i++){
- if(c.btn[i]){
- html += '<li'+btnclass[i]+'><button'+(btnclass[i] && c.iconColor && c.type=='confirm' ? ' style="background-color:'+c.iconColor+'"' : '')+'>'+c.btn[i]+'</button></li>';
- }
- }
- html += '</ul><div class="xtiper_btnbor"'+(c.iconColor ? ' style="background-color:'+c.iconColor+'"' : '')+'></div></div></div>';
- }
- //页面层
- else if(c.model=='open'){
- //是否已经触发过
- ifxoff = that.findxoff();
- if(ifxoff===true){
- return false;
- }
- if(c.maxWidth){
- c.width = that.maxSize(c.width, c.maxWidth);
- }
- if(c.maxHeight){
- c.height = that.maxSize(c.height, c.maxHeight);
- }
- //满屏页面不能最大化
- if(c.width=='100%' && c.height=='100%'){
- c.max = false;
- }
- let width = that.getsize(c.width);
- let height = that.getsize(c.height) || ['', ''];
- if(height[1]=='%'){
- let bheight = window.innerHeight * height[0] / 100;
- height[0] = Math.round(bheight);
- height[1] = 'px';
- }
- let height_css = '';
- if(c.title){
- height_css = ' xtit';
- }else{
- if(c.move=== true){
- height_css = ' xmin';
- }
- }
- let newcontent;
- let xtiper_over = '';
- if(c.over===false){
- xtiper_over = ' xtiper_over';
- }
- if(c.type=='ready' || c.type=='noready'){ //内容
- let fir = c.content.substr(0, 1), element, content, reg;
- if(fir=='#'){
- element = document.getElementById(c.content.substr(1, c.content.length));
- }else if(fir=='.'){
- element = document.getElementsByClassName(c.content.substr(1, c.content.length))[0];
- }else{
- return false;
- }
- if(!element){
- return false;
- }
- if(c.type=='ready'){
- content = element.outerHTML;
- //过滤主div标签的id
- regid = /\#([A-z0-9_-]*)/;
- content_id = (c.content).match(regid);
- if(content_id && content_id[1]){
- //reg = /\s+(id\=["']idname["'])/g;
- reg = new RegExp('\\s+(id\\\=["\']' + content_id[1] + '["\'])', 'g');
- content = content.replace(reg, '');
- }
- }else{
- content = element.innerHTML;
- reg = /\<\!\-{2}[\s\n]*([\S\s]*)[\s\n]*\-{2}\>/;
- let match = content.match(reg);
- if(!match || !match[1]){
- return false;
- }
- content = match[1];
- }
- newcontent = '<div class="xtiper_content'+xtiper_over+''+height_css+'"'+(c.bgcolor ? ' style="background-color:'+c.bgcolor+'"' : '')+'>'+content+'</div>';
- }else if(c.type=='url'){ //页面
- let scrolling = 'auto';
- if(c.over===false){
- scrolling = 'no';
- }
- newcontent = '<div class="xtiper_content'+height_css+' xtiper_over"'+(c.bgcolor ? ' style="background-color:'+c.bgcolor+'"' : '')+'><div class="zw"></div><iframe parentid="'+that.mainid+'" id="'+that.mainid+'_id" name="'+that.mainid+'_name" scrolling="'+scrolling+'" allowtransparency="true" frameborder="0" src="'+c.content+'" style="width:100%; height:100%;"></iframe></div>';
- }else if(c.type=='html'){ //html代码
- newcontent = '<div class="xtiper_content'+xtiper_over+''+height_css+'"'+(c.bgcolor ? ' style="background-color:'+c.bgcolor+'"' : '')+'>'+c.content+'</div>';
- }else if(c.type=='photo'){ //相册
- let img = document.getElementsByTagName('img');
- if(img.length==0){
- return false;
- }
- let photo = new Array();
- for(let i=0; i<img.length; i++){
- if(that.dataset(img[i], 'xphoto')==c.content){
- photo.push(img[i]);
- }
- }
- if(!photo || photo.length==0){
- return false;
- }
- let li = '<div class="xtiper_photo_num'+(c.iftitle===true ? ' xon' : '')+'"'+(c.color ? 'style="color:'+c.color+';"' : '')+'><span class="xtiper_words"></span><span class="xtiper_nummax'+(c.iforder===true ? ' xon' : '')+'"><span class="xtiper_num">'+c.index+'</span> / '+photo.length+'</span></div>';
- if(photo.length>1){
- li += '<div class="xtiper_photo_btn xtiper_photo_prev"></div><div class="xtiper_photo_btn xtiper_photo_next"></div>';
- }
- li += '<div class="xtiper_photo_ul"><ul>';
- let xhref, xsrc;
- let xindex = c.index - 1;
- for(let i=0; i<photo.length; i++){
- xhref = that.dataset(photo[i], 'xhref') ? that.dataset(photo[i], 'xhref') : '';
- xsrc = that.dataset(photo[i], 'xsrc') ? that.dataset(photo[i], 'xsrc') : photo[i].src;
- li += '<li class="xtiper_photo_li'+(i==xindex ? ' xon' : '')+(that.ifmob===true ? ' xapp' : '')+'" data-xtitle="'+photo[i].title+'"><p style="background-image:url(\''+xsrc+'\');">'+(xhref ? '<a href="'+xhref+'" target="_blank">' : '')+'<img src="'+xsrc+'">'+(xhref ? '</a>' : '')+(i==xindex && that.ifmob===true ? '<span class="xtiper_icon xtiper_icon_load xtiper_photo_load"></span>' : '')+'</p></li>';
- }
- li += '</ul></div>';
- newcontent = '<div class="xtiper_content'+xtiper_over+''+height_css+'"'+(c.bgcolor ? ' style="background-color:'+c.bgcolor+'"' : '')+'>'+li+'</div>';
- }
- if(c.shade===true){
- html += '<div class="xtiper_bg"></div>';
- }
- if(c.app===true){
- html += '<div class="xtiper_sheet'+(that.ifmob===true && c.type=='photo' ? ' xapp' : '')+'" style="height:'+height[0]+""+height[1]+';">';
- if(c.title){
- html += '<div class="xtiper_sheet_tit xtiper_sheet_left">'+c.title+'</div>';
- }
- }else{
- html += '<div class="xtiper_main'+(that.ifmob===true && c.type=='photo' ? ' xapp' : '')+'" style="width:'+width[0]+""+width[1]+'; height:'+height[0]+""+height[1]+';">';
- if(c.title){
- html += '<div class="xtiper_tit'+(c.move===true ? '' : ' xminmax')+'"><p>'+c.title+'</p><div class="xtiper_minmax">';
- if(c.min===true){
- html += '<div class="xtiper_min"></div>';
- }
- if(c.max===true){
- html += '<div class="xtiper_max"></div>';
- }
- if(c.closeBtn===true){
- html += '<div class="xtiper_close"></div>';
- }
- html += '</div></div>';
- }else{
- if(c.move===true){
- html += '<div class="xtiper_tit xtiper_tit_none"></div>';
- }
- if(c.closeBtn===true){
- html += '<div class="xtiper_close xtiper_close_notit'+(c.photoapp===true ? ' xtiper_close_photoapp' : '')+'"></div>';
- };
- }
- }
- html += newcontent;
- html += '</div>';
- }
- //加载层
- else if(c.model=='load'){
- html = '<div class="xtiper_bg xtiper_bg_white"></div><div class="xtiper_loadin"><div class="xtiper_icon xtiper_icon_load"></div>';
- if(c.tip){
- html += '<span>'+c.tip+'</span>';
- }
- html += '</div>';
- if(c.closeBtn===true){
- html += '<div class="xtiper_close xtiper_close_load"></div>';
- }
- }
- //面板菜单
- else if(c.model=='sheet'){
- let btnfun = new Array();
- btnfun[0] = c.btn1 ? c.btn1 : null; btnfun[1] = c.btn2 ? c.btn2 : null;
- btnfun[2] = c.btn3 ? c.btn3 : null; btnfun[3] = c.btn4 ? c.btn4 : null;
- btnfun[4] = c.btn5 ? c.btn5 : null; btnfun[5] = c.btn6 ? c.btn6 : null;
- btnfun[6] = c.btn7 ? c.btn7 : null; btnfun[7] = c.btn8 ? c.btn8 : null;
- that.btnfun = btnfun;
- let align = 'xtiper_sheet_' + c.align;
- html += '<div class="xtiper_bg"></div><div class="xtiper_sheet">';
- if(c.title){
- html += '<div class="xtiper_sheet_tit '+align+'">'+c.title+'</div>';
- }
- html += '<ul class="xtiper_sheet_ul '+align+'">';
- let licon, href, target;
- for(let i=0; i<c.btn.length; i++){
- if(btnfun[i]){
- if(typeof(btnfun[i])=='function'){
- licon = '<p>'+c.btn[i]+'</p>';
- }else{
- if(typeof(btnfun[i])=='object'){
- href = btnfun[i][0];
- target = btnfun[i][1] ? btnfun[i][1] : '';
- if(target && target.substr(0, 1)!='_'){
- target = '_'+target;
- }
- target = ' target="'+target+'"';
- }else{
- href = btnfun[i];
- target = '';
- }
- licon = '<a href="'+href+'"'+target+'><p>'+c.btn[i]+'</p></a>';
- }
- }else{
- licon = '<p>'+c.btn[i]+'</p>';
- }
- html += '<li class="xtiper_sheet_li">'+licon+'</li>';
- }
- if(!c.force){
- html += '<li class="xtiper_sheet_li xlast"><p>'+c.btnClose+'</p></li>';
- }
- html += '</ul></div>';
- }
- return html;
- };
- Xclass.pt.iconer = function(){
- let that = this;
- let c = that.c;
- let html = '';
- if(c.icon){
- if(c.iconFlag===true){
- html = '<i class="xtiper_icon xtiper_icon_'+c.icon+'"></i>';
- }else{
- html = '<img class="xtiper_icon" src="'+c.icon+'" />';
- }
- }
- return html;
- };
- Xclass.pt.findxoff = function(){
- let that = this;
- let c = that.c;
- let xoff = document.getElementsByClassName('xtiper');
- let xoffdiv;
- for(let i=0; i<xoff.length; i++){
- let xcstr = that.dataset(xoff[i], 'xcstr');
- if(xcstr && xcstr==that.xcstr){
- xoffdiv = xoff[i];
- }
- }
- if(xoffdiv){
- that.xtipdiv = xoffdiv;
- that.mainid = xoffdiv.getAttribute('id');
- xoffdiv.style.zIndex = c.zindex;
- setTimeout(function(){
- let maincss = c.app===true ? 'xtiper_sheet' : 'xtiper_main';
- let xtiper_main = xoffdiv.getElementsByClassName(maincss)[0];
- let data_width = that.dataset(xoffdiv, 'xwidth');
- let data_height = that.dataset(xoffdiv, 'xheight');
- let xleft = (window.innerWidth - data_width) / 2;
- let xtop = (window.innerHeight - data_height) / 2;
- if(maincss=='xtiper_main'){
- xtiper_main.style.width = data_width+'px';
- xtiper_main.style.height = data_height+'px';
- xtiper_main.style.left = xleft+'px';
- xtiper_main.style.top = xtop+'px';
- let xtiper_min = xoffdiv.getElementsByClassName('xtiper_min')[0];
- let xtiper_max = xoffdiv.getElementsByClassName('xtiper_max')[0];
- if(xtiper_min){
- xtiper_min.style.display = '';
- xtiper_min.classList.remove('xon');
- }
- if(xtiper_max){
- xtiper_max.style.display = '';
- xtiper_max.classList.remove('xon');
- }
- }
- if(c.lock===true){
- that.lock();
- }
- xoffdiv.classList.remove('xoff');
- }, 1);
- return true;
- }else{
- return false;
- }
- };
- //设置data
- Xclass.pt.dataset = function(element, datakey, dataval){
- //读取
- if(dataval==null){
- if(element){
- return element.getAttribute('data-'+datakey);
- }
- }
- //设置
- else{
- element.setAttribute('data-'+datakey, dataval);
- }
- };
- //添加classname、属性
- Xclass.pt.attr = function(){
- let that = this;
- let c = that.c;
- let xtipdiv = that.xtipdiv;
- //短消息
- if(c.model=='msg'){
- xtipdiv.classList.add('xtiper_msg');
- xtipdiv.classList.add('xtiper_msg_'+c.pos);
- xtipdiv.classList.add('xtiper_msg_'+c.type);
- xtipdiv.style.whiteSpace = 'nowrap';
- let xwidth = xtipdiv.offsetWidth;
- xwidth = xwidth / 2;
- xtipdiv.style.marginLeft = '-'+xwidth+'px';
- xtipdiv.style.whiteSpace = '';
- }
- //弹幕
- else if(c.model=='danmu'){
- xtipdiv.classList.add('xtiper_msg');
- xtipdiv.classList.add('xtiper_msg_'+c.type);
- xtipdiv.classList.add('xtiper_danmu');
- function randomNum(n, m){
- return Math.round(Math.random()*(m-n))+n;
- }
- let bheight = Math.round(window.innerHeight * 0.65);
- let danmuTop = randomNum(10, bheight);
- let bwidth = document.body.offsetWidth + 22;
- xtipdiv.style.transform = 'translateX('+bwidth+'px)';
- xtipdiv.style.top = danmuTop+'px';
- let danmuli = document.getElementsByClassName('xtiper_danmu');
- if(danmuli.length>1){
- if(c.light===true){
- xtipdiv.classList.add('xtiper_danmu_light');
- }
- }
- }
- //气泡层
- else if(c.model=='tips'){
- xtipdiv.classList.add('xtiper_tips');
- xtipdiv.classList.add('xtiper_tips_'+c.pos);
- xtipdiv.style.width = xtipdiv.offsetWidth + 'px';
- //定位
- let newelement = document.getElementById(c.element) || c.element;
- let S = document.documentElement.scrollTop || document.body.scrollTop;
- let C = newelement.getBoundingClientRect();
- let W = newelement.offsetWidth;
- let H = newelement.offsetHeight;
- let dtop = S + C.top;
- let dleft = C.left;
- let B = 10;
- if(c.pos=='left'){
- let selfWidth = xtipdiv.offsetWidth;
- dleft = dleft - selfWidth - B;
- }else if(c.pos=='right'){
- dleft = dleft + W + B;
- }else if(c.pos=='top'){
- let selfHeight = xtipdiv.offsetHeight;
- dtop = dtop - selfHeight - B;
- }else if(c.pos=='bottom'){
- dtop = dtop + H + B;
- }
- xtipdiv.style.left = dleft + 'px';
- xtipdiv.style.top = dtop + 'px';
- }
- //弹窗层
- else if(c.model=='win' || c.model=='open'){
- xtipdiv.classList.add('xtiper_win');
- if(c.shade===true){
- xtipdiv.classList.add('xtiper_win_fixed');
- }
- let maincss = c.app===true ? 'xtiper_sheet' : 'xtiper_main';
- let xtiper_main = xtipdiv.getElementsByClassName(maincss)[0];
- let xtiper_tit = xtipdiv.getElementsByClassName('xtiper_tit')[0];
- //原始窗口大小
- that.dataset(xtipdiv, 'xwidth', xtiper_main.offsetWidth);
- that.dataset(xtipdiv, 'xheight', xtiper_main.offsetHeight);
- if(c.reset===false){
- that.dataset(xtipdiv, 'xreset', 1);
- }
- if(c.model=='open' && that.xcstr){
- that.dataset(xtipdiv, 'xcstr', that.xcstr);
- }
- if(c.min===true || c.max===true){
- let xmcss = 'xmcss';
- let y = 0;
- if(c.min===true){
- y++;
- }
- if(c.max===true){
- y++;
- }
- xmcss = xmcss + y;
- if(xtiper_tit){
- xtiper_tit.classList.add(xmcss);
- }
- }
- let xleft, xtop;
- if(c.model=='win'){
- let width = that.getsize(c.width);
- if(width && width[1]=='%'){
- xleft = (100 - width[0]) / 2 + '%';
- }else{
- xleft = (window.innerWidth - xtiper_main.offsetWidth) / 2 + 'px';
- }
- xtop = (window.innerHeight - xtiper_main.offsetHeight) / 2 + 'px';
- xtiper_main.style.height = xtiper_main.offsetHeight + 'px';
- xtiper_main.style.left = xleft;
- xtiper_main.style.top = xtop;
- }else if(c.model=='open'){
- if(c.type=='ready'){
- xtiper_main.getElementsByClassName('xtiper_content')[0].firstChild.style.display = '';
- }
- if(c.app===false){
- let width = that.getsize(c.width);
- if(c.type=='photo' && c.autoHeight===true){
- let xindex = c.index - 1;
- let imgdiv = xtipdiv.getElementsByClassName('xtiper_photo_li')[xindex].getElementsByTagName('img')[0];
- imgdiv.onload = function(){
- let img = imgdiv.offsetHeight;
- img = img + 100;
- if(img > window.innerHeight){
- if(c.title){
- img = window.innerHeight;
- }else{
- img = window.innerHeight - 26;
- }
- }
- xtop = (window.innerHeight - img) / 2;
- xtop = c.y ? xtop + c.y : xtop;
- xtop = xtop + 'px';
- xtiper_main.style.height = img + 'px';
- if(width[1]=='%'){
- xleft = (100 - width[0]) / 2;
- xleft = c.x ? xleft + c.x : xleft;
- xleft = xleft + width[1];
- }else{
- xleft = (window.innerWidth - xtiper_main.offsetWidth) / 2;
- xleft = c.x ? xleft + c.x : xleft;
- xleft = xleft + 'px';
- }
- xtiper_main.style.left = xleft;
- xtiper_main.style.top = xtop;
- }
- }else{
- xtiper_main.style.height = xtiper_main.offsetHeight + 'px';
- xtop = (window.innerHeight - xtiper_main.offsetHeight) / 2;
- xtop = c.y ? xtop + c.y : xtop;
- xtop = xtop + 'px';
- }
- if(width[1]=='%'){
- xleft = (100 - width[0]) / 2;
- xleft = c.x ? xleft + c.x : xleft;
- xleft = xleft + width[1];
- }else{
- xleft = (window.innerWidth - xtiper_main.offsetWidth) / 2;
- xleft = c.x ? xleft + c.x : xleft;
- xleft = xleft + 'px';
- }
- xtiper_main.style.left = xleft;
- xtiper_main.style.top = xtop;
- }
- }
- if(c.shade===false){
- xtiper_main.style.position = 'fixed';
- }
- }
- //加载层
- else if(c.model=='load'){
- xtipdiv.classList.add('xtiper_win');
- xtipdiv.classList.add('xtiper_win_fixed');
- }
- //面板菜单
- else if(c.model=='sheet'){
- xtipdiv.classList.add('xtiper_win');
- xtipdiv.classList.add('xtiper_win_fixed');
- }
- if(c.zindex){
- xtipdiv.style.zIndex = c.zindex;
- }
- };
- //添加动画效果
- Xclass.pt.on = function(){
- let that = this;
- let c = that.c;
- let xtipdiv = that.xtipdiv;
- setTimeout(function(){
- xtipdiv.classList.add('xon');
- }, 1);
- };
- //后续处理
- Xclass.pt.after = function(){
- let that = this;
- let c = that.c;
- let xtipdiv = that.xtipdiv;
- //短消息、气泡层
- if(c.model=='msg' || c.model=='tips'){
- //自动关闭
- that.autoClose();
- if(c.model=='tips'){
- //绑定关闭按钮及遮罩点击关闭
- that.shade();
- }
- }
- //弹幕
- else if(c.model=='danmu'){
- that.danmuStar();
- xtipdiv.addEventListener('mouseenter', function() {
- that.danmuStop();
- });
- xtipdiv.addEventListener('mouseleave', function() {
- that.danmuStar();
- });
- }
- //弹窗层、页面层
- else if(c.model=='win' || c.model=='open'){
- if(c.model=='win'){
- //绑定按钮事件
- let button = xtipdiv.getElementsByTagName('button');
- let btnfun = that.btnfun;
- for(let i=0; i<4; i++){
- that.bclick(button[i], btnfun[i], true);
- }
- }
- //绑定最小化
- if(c.min){
- let minbtn = xtipdiv.getElementsByClassName('xtiper_min')[0];
- if(minbtn){
- minbtn.addEventListener('click', function() {
- that.minmax('min');
- });
- }
- }
- //绑定最大化
- if(c.max){
- let maxbtn = xtipdiv.getElementsByClassName('xtiper_max')[0];
- if(maxbtn){
- maxbtn.addEventListener('click', function() {
- that.minmax('max');
- });
- }
- }
- //绑定鼠标拖动
- if(c.move===true){
- that.drag(true);
- }
- //绑定关闭按钮及遮罩点击关闭
- that.shade();
- //绑定键盘事件
- if(c.model=='win' || c.model=='open'){
- that.key();
- }
- //自动关闭
- if(c.model=='win' && c.type=='alert' && c.times>0){
- that.autoClose();
- }
- //相册按钮
- if(c.type=='photo'){
- that.photo();
- let xindex = c.index - 1;
- let li = xtipdiv.getElementsByClassName('xtiper_photo_li')[xindex];
- let xtiper_words = xtipdiv.getElementsByClassName('xtiper_words')[0];
- xtiper_words.innerHTML = that.dataset(li, 'xtitle');
- }
- //回调函数
- if(c.success && typeof(c.success)=='function'){
- c.success(that);
- }
- }
- //加载层
- else if(c.model=='load'){
- //自动关闭
- that.autoClose();
- //绑定关闭按钮
- that.shade();
- }
- //面板菜单
- else if(c.model=='sheet'){
- //绑定关闭按钮及遮罩点击关闭
- that.shade();
- let btnfun = that.btnfun;
- let xtipdiv_appli = xtipdiv.getElementsByClassName('xtiper_sheet_li');
- let btnlen = xtipdiv_appli.length;
- if(!c.force){
- btnlen = btnlen - 1;
- }
- //绑定按钮事件
- for(let i=0; i<btnlen; i++){
- that.bclick(xtipdiv_appli[i], btnfun[i]);
- }
- if(!c.force){
- xtipdiv_appli[btnlen].addEventListener('click', function() {
- that.close();
- if(c.end){
- c.end();
- }
- });
- }
- }
- //锁定滚动条
- that.lock();
- };
- Xclass.pt.ulli = function(li, aa, xx, yy, close){
- let that = this;
- let xtipdiv = that.xtipdiv;
- let xtiper_content = xtipdiv.getElementsByClassName('xtiper_content')[0];
- let opacity;
- for(let i=0; i<li.length; i++){
- if(li[i].classList.contains('xon')===true){
- if(aa=='left'){
- if(xx){
- li[i].style.left = xx + 'px';
- }else{
- li[i].style.left = '';
- }
- }else{
- li[i].style.left = xx + 'px';
- li[i].style.top = yy + 'px';
- opacity = 1 - ((yy / 4 * 3) / 120);
- if(opacity < 0){
- opacity = 0;
- }
- xtiper_content.style.backgroundColor = 'rgba(0, 0, 0, '+opacity+')';
- if(close===true){
- if(yy > 120){
- that.close();
- }else{
- li[i].style.left = '';
- li[i].style.top = '';
- xtiper_content.style.backgroundColor = 'rgba(0, 0, 0, 1)';
- }
- }
- }
- }
- }
- };
- Xclass.pt.photo = function(){
- let that = this;
- let c = that.c;
- let xtipdiv = that.xtipdiv;
- let ul = xtipdiv.getElementsByClassName('xtiper_photo_ul')[0];
- let li = xtipdiv.getElementsByClassName('xtiper_photo_li');
- let prev = xtipdiv.getElementsByClassName('xtiper_photo_prev')[0];
- let next = xtipdiv.getElementsByClassName('xtiper_photo_next')[0];
- if(prev && li.length>1){
- prev.addEventListener('click', function(){
- that.photoBtn('prev');
- });
- }
- if(next && li.length>1){
- next.addEventListener('click', function(){
- that.photoBtn('next');
- });
- }
- //移动端
- if(that.ifmob===true && li.length>1){
- let aa = null;
- let moveX1, moveX2, moveY1, moveY2, xx, yy;
- ul.addEventListener('touchstart', function(e){
- moveX1 = e.changedTouches[0].pageX;
- moveY1 = e.changedTouches[0].pageY;
- that.touchmove(false);
- });
- ul.addEventListener('touchmove', function(e){
- moveX2 = e.changedTouches[0].pageX;
- moveY2 = e.changedTouches[0].pageY;
- xx = moveX2 - moveX1;
- yy = moveY2 - moveY1;
- if(Math.abs(xx)>Math.abs(yy)){
- aa = aa ? aa : 'left';
- }else{
- aa = aa ? aa : 'top';
- }
- that.ulli(li, aa, xx, yy);
- });
- ul.addEventListener('touchend', function(e){
- if(moveX1 > moveX2){
- if((moveX1 - moveX2 > 40) && aa=='left'){
- that.photoBtn('next');
- }
- }else{
- if((moveX2 - moveX1 > 40) && aa=='left'){
- that.photoBtn('prev');
- }
- }
- that.ulli(li, aa, '', yy, true);
- aa = null;
- });
- ul.addEventListener('click', function(e){
- that.close();
- });
- }else{
- ul.addEventListener('touchstart', function(e){
- return false;
- });
- ul.addEventListener('touchend', function(e){
- return false;
- });
- ul.addEventListener('click', function(e){
- return false;
- });
- }
- };
- Xclass.pt.photoBtn = function(type){
- let that = this;
- let c = that.c;
- let xtipdiv = that.xtipdiv;
- let li = xtipdiv.getElementsByClassName('xtiper_photo_li');
- let xtiper_main = xtipdiv.getElementsByClassName('xtiper_main')[0];
- if(xtiper_main.classList.contains('xtiper_main_photo')===true){
- return false;
- }
- xtiper_main.classList.add('xtiper_main_photo');
- let index = 0, old = 0;
- for(let i=0; i<li.length; i++){
- if(li[i].classList.contains('xon')===true){
- index = old = i;
- }
- }
- if(type=='prev'){
- index--;
- if(index < 0){
- index = li.length - 1;
- }
- }else if(type=='next'){
- index++;
- if(index > li.length - 1){
- index = 0;
- }
- }
- that.now = index;
- let xnum = index + 1;
- let xtiper_num = xtiper_main.getElementsByClassName('xtiper_num')[0];
- xtiper_num.innerHTML = xnum;
- let xtiper_words = xtiper_main.getElementsByClassName('xtiper_words')[0];
- let img;
- for(let i=0;i<li.length;i++){
- if(i==index){
- li[i].classList.add('xon');
- xtiper_words.innerHTML = that.dataset(li[i], 'xtitle');
- xtiper_num.innerHTML = xnum;
- if(c.autoHeight===true){
- img = li[i].getElementsByTagName('img')[0].offsetHeight;
- img = img + 100;
- if(img > window.innerHeight){
- if(c.title){
- img = window.innerHeight;
- }else{
- img = window.innerHeight - 26;
- }
- }
- xtiper_main.style.height = img+'px';
- xtiper_main.style.top = ((window.innerHeight - img)/2)+'px';
- }
- }else{
- li[i].classList.remove('xon');
- }
- if(i==old){
- li[i].classList.add('xold_'+type);
- }else{
- li[i].classList.remove('xold_prev');
- li[i].classList.remove('xold_next');
- }
- }
- setTimeout(function(){
- li[old].classList.remove('xold_'+type);
- xtiper_main.classList.remove('xtiper_main_photo');
- }, 401);
- };
- Xclass.pt.appScroll = function(e){
- e.preventDefault();
- };
- Xclass.pt.touchmove = function(type){
- let that = this;
- if(type===false){
- document.body.addEventListener('touchmove', that.appScroll, {passive: false});
- }else{
- document.body.removeEventListener('touchmove', that.appScroll, {passive: false});
- }
- };
- Xclass.pt.xcstrRep = function(str){
- str = str.replace(/[\s\n\r]/g, ''); //空格换行回车
- str = encodeURIComponent(str).toLowerCase();
- let reparr = [[/true/g, '1'],[/false/g, '0'],[/%/g, ''],[/\(/g, ''],[/\)/g, ''],[/open/g, 'o'],[/ready/g, 'r'],[/noready/g, 'n'],[/url/g, 'u'],[/html/g, 'h'],[/photo/g, 'p'],[/function/g, 'f'],[/99999/g, '9']];
- for(let i=0; i<reparr.length; i++){
- str = str.replace(reparr[i][0], reparr[i][1]);
- }
- return str;
- };
- Xclass.pt.maxSize = function(oldval, newval){
- let that = this;
- let oldsize = that.getsize(oldval) || '';
- let newsize = that.getsize(newval);
- if(oldsize && oldsize[1]=='px' && newsize[1]=='%'){
- if(oldsize[0] > window.innerWidth){
- return (newsize[0]>100 ? 100 : newsize[0])+'%';
- }else{
- return oldval;
- }
- }else{
- return oldval;
- }
- };
- //弹幕开始
- Xclass.pt.danmuStar = function(){
- let that = this;
- let c = that.c;
- let xtipdiv = that.xtipdiv;
- xtipdiv.classList.add('xtiper_danmu_animate');
- if(xtipdiv.style.animationDuration==''){
- xtipdiv.style.animationDuration = '6s';
- }
- let danmutime = Number(xtipdiv.style.animationDuration.replace(/s/, ''));
- that.dataset(xtipdiv, 'xdanmu', danmutime);
- that.outtime = setTimeout(function(){
- that.close();
- }, (danmutime*1000)+1);
- };
- //弹幕停止
- Xclass.pt.danmuStop = function(){
- let that = this;
- let c = that.c;
- let xtipdiv = that.xtipdiv;
- let bwidth = document.body.offsetWidth + 22;
- let newtranslate = xtipdiv.getBoundingClientRect().left;
- xtipdiv.style.transform = 'translateX('+newtranslate+'px)';
- if(that.outtime){
- clearInterval(that.outtime);
- that.outtime = null;
- }
- let progress = newtranslate / bwidth;
- let lesstime = 6 * progress;
- if(lesstime < 0.4){
- lesstime = 0.4;
- }
- that.dataset(xtipdiv, 'xdanmu', lesstime);
- xtipdiv.style.animationDuration = lesstime+'s';
- xtipdiv.classList.remove('xtiper_danmu_animate');
- };
- //绑定按钮事件
- Xclass.pt.bclick = function(btn, fun, ifclose){
- let that = this;
- if(btn){
- if(fun && typeof(fun)=='function'){
- btn.addEventListener('click', function() {
- fun();
- that.close();
- });
- }else{
- if(ifclose===true){
- btn.addEventListener('click', function() {
- that.close();
- });
- }
- }
- }
- };
- //自动关闭
- Xclass.pt.autoClose = function(){
- let that = this;
- let c = that.c;
- let xtipdiv = that.xtipdiv;
- //倒计时
- if(xtipdiv.getElementsByClassName('xtiper_times')[0]){
- let times = c.times - 1;
- let i = times;
- let fn = function() {
- xtiper_times = xtipdiv.getElementsByClassName('xtiper_times')[0];
- xtiper_times.innerHTML = i;
- if(i<=0){
- that.close();
- clearInterval(that.timer);
- that.timer = null;
- }
- i--;
- };
- that.timer = setInterval(fn, 1000);
- fn();
- }else{
- let times = c.times;
- if(times && times!=0){
- setTimeout(function(){
- that.close();
- }, times*1000);
- }
- }
- };
- //锁定滚动条
- Xclass.pt.lock = function(){
- let that = this;
- let c = that.c;
- let xtipdiv = that.xtipdiv;
- if(c.lock===true){
- that.dataset(xtipdiv, 'xlock', 1);
- document.documentElement.style.overflowY = 'hidden';
- that.touchmove(false);
- }
- };
- //解除锁定滚动条
- Xclass.pt.unlock = function(){
- let that = this;
- let flag = 0;
- let winli = document.getElementsByClassName('xtiper_win');
- for(let i=0; i<winli.length; i++){
- if(that.dataset(winli[i], 'xlock')==1 && winli[i].classList.contains('xoff')===false){
- flag++;
- }
- if(winli[i].classList.contains('xoff')===true && winli[i].getAttribute('id')==that.mainid){
- flag++;
- }
- }
- if(flag<=1){
- document.documentElement.style.overflowY = '';
- }
- that.touchmove(true);
- };
- //绑定最大化、最小化
- Xclass.pt.minmax = function(mtype, act){
- let that = this;
- let c = that.c;
- let xtipdiv = that.xtipdiv;
- let iftype, setwidth, setheight;
- if(mtype=='min'){
- iftype = that.dataset(xtipdiv, 'xmin');
- setwidth = '190px';
- setheight = '40px';
- }else if(mtype=='max'){
- iftype = that.dataset(xtipdiv, 'xmax');
- setwidth = '100%';
- setheight = '100%';
- }
- let xtiper_tit = xtipdiv.getElementsByClassName('xtiper_tit')[0];
- let xtiper_main = xtipdiv.getElementsByClassName('xtiper_main')[0];
- let xtiper_content = xtipdiv.getElementsByClassName('xtiper_content')[0];
- let minbtn = xtipdiv.getElementsByClassName('xtiper_min')[0];
- let maxbtn = xtipdiv.getElementsByClassName('xtiper_max')[0];
- let xtiper_bg = xtipdiv.getElementsByClassName('xtiper_bg')[0];
- if(iftype==1 || act==1){ //还原
- xtiper_main.style.width = that.dataset(xtipdiv, 'xwidth')+'px';
- xtiper_main.style.height = that.dataset(xtipdiv, 'xheight')+'px';
- let data_width = xtiper_main.offsetWidth;
- let data_height = xtiper_main.offsetHeight;
- let xleft = (window.innerWidth - data_width) / 2;
- let xtop = (window.innerHeight - data_height) / 2;
- xtiper_main.style.left = xleft+'px';
- xtiper_main.style.top = xtop+'px';
- xtiper_tit.classList.remove('xminmax');
- xtiper_tit.classList.remove('xmin');
- xtiper_tit.getElementsByTagName('p')[0].setAttribute('title', '');
- that.dataset(xtipdiv, 'xmin', '');
- that.dataset(xtipdiv, 'xmax', '');
- if(minbtn){
- minbtn.classList.remove('xon');
- minbtn.style.display = '';
- }
- if(maxbtn){
- maxbtn.classList.remove('xon');
- maxbtn.style.display = '';
- }
- that.drag(true);
- //最小化还原遮罩
- if((c.model=='win' || c.model=='open') && c.shade===true && c.min===true){
- xtipdiv.classList.add('xtiper_win_fixed');
- xtiper_bg.classList.remove('xmin');
- xtiper_main.style.position = '';
- }
- }else{ //变形
- xtiper_main.style.width = setwidth;
- xtiper_main.style.height = setheight;
- xtiper_tit.classList.add('xminmax');
- if(mtype=='min'){
- xtiper_tit.classList.add('xmin');
- xtiper_tit.getElementsByTagName('p')[0].setAttribute('title', xtiper_tit.getElementsByTagName('p')[0].innerHTML);
- that.dataset(xtipdiv, 'xmin', 1);
- xtiper_main.style.top = 'auto';
- xtiper_main.style.bottom = '0';
- xtiper_main.style.left = '0';
- minbtn.classList.add('xon');
- if(maxbtn){
- maxbtn.style.display = 'none';
- }
- //最小化关闭遮罩
- if((c.model=='win' || c.model=='open') && c.shade===true && c.min===true){
- xtipdiv.classList.remove('xtiper_win_fixed');
- xtiper_bg.classList.add('xmin');
- xtiper_main.style.position = 'fixed';
- }
- }else if(mtype=='max'){
- that.dataset(xtipdiv, 'xmax', 1);
- xtiper_main.style.top = '0';
- xtiper_main.style.left = '0';
- maxbtn.classList.add('xon');
- if(minbtn){
- minbtn.style.display = 'none';
- }
- }
- that.drag(false);
- }
- };
- //绑定鼠标拖动
- Xclass.pt.drag = function(open){
- let that = this;
- let c = that.c;
- let xtipdiv = that.xtipdiv;
- let drag = xtipdiv.getElementsByClassName('xtiper_tit')[0];
- if(!drag){
- return false;
- }
- let drag_main = xtipdiv.getElementsByClassName('xtiper_main')[0];
- if(open===true){
- drag.onmousedown = function(event){
- //允许3/4的区域拖动到页面外
- let overX = drag_main.offsetWidth/4*3;
- let overY = drag_main.offsetHeight/4*3;
- drag_main.classList.add('xon');
- event = event || window.event;
- let diffX = event.clientX - drag_main.offsetLeft;
- let diffY = event.clientY - drag_main.offsetTop;
- if(typeof drag_main.setCapture !== 'undefined'){
- drag_main.setCapture();
- };
- document.onmousemove = function(event){
- event = event || window.event;
- let moveX = event.clientX - diffX;
- let moveY = event.clientY - diffY;
- if(moveX < - overX){
- moveX = - overX;
- }else if(moveX > document.body.offsetWidth - drag_main.offsetWidth + overX){
- moveX = document.body.offsetWidth - drag_main.offsetWidth + overX;
- }
- if(moveY < 0){
- moveY = 0
- }else if(moveY > window.innerHeight - drag_main.offsetHeight + overY){
- moveY = window.innerHeight - drag_main.offsetHeight + overY;
- }
- drag_main.style.left = moveX + 'px';
- drag_main.style.top = moveY + 'px'
- };
- document.onmouseup = function(event){
- drag_main.classList.remove('xon');
- this.onmousemove = null;
- this.onmouseup = null;
- //修复低版本ie bug
- if(typeof drag_main.releaseCapture != 'undefined'){
- drag_main.releaseCapture();
- }
- };
- };
- }else{
- drag.onmousedown = function(event){
- return false;
- document.onmousemove = function(event){
- return false;
- };
- document.onmouseup = function(event){
- return false;
- };
- }
- }
- };
- //绑定关闭按钮及遮罩点击关闭
- Xclass.pt.shade = function(){
- let that = this;
- let c = that.c;
- let xtipdiv = that.xtipdiv;
- let close = xtipdiv.getElementsByClassName('xtiper_close')[0];
- if(close){
- close.addEventListener('click', function() {
- that.close();
- if(c.end && typeof(c.end)=='function'){
- c.end();
- }
- });
- }
- if(c.shadeClose){
- let bg = xtipdiv.getElementsByClassName('xtiper_bg')[0];
- bg.addEventListener('click', function() {
- if(c.model=='sheet' && c.force){
- xtip.msg(c.force);
- return false;
- }else{
- that.close();
- if(c.end && typeof(c.end)=='function'){
- c.end();
- }
- }
- });
- }
- };
- //键盘事件
- Xclass.pt.key = function(){
- let that = this;
- let c = that.c;
- let xtipdiv = that.xtipdiv;
- document.onkeydown = function(event) {
- let e = event || window.event || arguments.callee.caller.arguments[0];
- if(e){
- if(e.keyCode==27){ //按 Esc
- that.close();
- }else if(e.keyCode==13) { //按 Enter
- if(c.model=='win'){
- //多按钮取消回车事件
- if(c.btn2 || c.btn3){
- return false;
- }
- that.close();
- if(c.btn1 && typeof(c.btn1)=='function'){
- c.btn1();
- c.btn1 = null;
- }
- return false;
- }
- }
- else{
- return e;
- }
- }
- };
- };
- /*
- * 关闭层
- * 关闭层id
- * 是否检查锁定层 checkLock
- */
- Xclass.pt.close = function(closeid){
- let that = this;
- let c = that.c;
- let checkLock = false;
- let xtipdiv = null;
- if(closeid){
- xtipdiv = document.getElementById(closeid);
- if(!xtipdiv){
- return false;
- }
- if(that.dataset(xtipdiv, 'xlock')==1){
- checkLock = true;
- }
- }else{
- xtipdiv = that.xtipdiv;
- if(c.lock===true){
- checkLock = true;
- }
- }
- if(!xtipdiv){
- return false;
- }
- //弹幕类型不用延时
- let closenow = false;
- if(xtipdiv.classList.contains('xtiper_danmu')===true){
- closenow = true;
- }else{
- closenow = false;
- }
- //不用延时关闭
- if(closenow===true){
- let parent_xtipdiv = xtipdiv.parentNode;
- if(parent_xtipdiv){
- parent_xtipdiv.removeChild(xtipdiv);
- }
- }else{
- if(that.dataset(xtipdiv, 'xreset')==1){
- xtipdiv.classList.add('xoff');
- if(c.lock===true){
- that.unlock();
- }
- setTimeout(function(){
- xtipdiv.style.zIndex = '-99999';
- if(c.min===true){
- that.minmax('min', 1);
- }
- if(c.max===true){
- that.minmax('max', 1);
- }
- if(c.model=='open' && c.type=='photo'){
- if(that.ifmob===true){
- let xtiper_content = xtipdiv.getElementsByClassName('xtiper_content')[0];
- xtiper_content.style.backgroundColor = 'rgba(0, 0, 0, 1)';
- }
- let li = xtipdiv.getElementsByClassName('xtiper_photo_li');
- if(li.length>0){
- for(let i=0; i<li.length; i++){
- li[i].style.left = '';
- li[i].style.top = '';
- }
- }
- }
- }, 201);
- }else{
- xtipdiv.classList.remove('xon');
- setTimeout(function(){
- let parent_xtipdiv = xtipdiv.parentNode;
- if(parent_xtipdiv){
- parent_xtipdiv.removeChild(xtipdiv);
- }
- }, 201);
- }
- }
- //关闭层有锁定属性的才执行解除锁定
- if(checkLock===true){
- that.unlock();
- }
- };
- /*
- * 关闭所有层
- */
- Xclass.pt.closeAll = function(){
- let that = this;
- let msgall = document.getElementsByClassName('xtiper');
- if(msgall.length<=0){
- return false;
- }
- for(let i=0; i<msgall.length; i++){
- that.close(msgall[i].getAttribute('id'));
- }
- document.documentElement.style.overflowY = '';
- that.touchmove(true);
- };
- //单位处理
- Xclass.pt.getsize = function(size){
- if(size){
- reg = /([0-9]+)(px|\%)/;
- size_arr = size.match(reg);
- arr = new Array();
- arr[0] = Number(size_arr[1]);
- arr[1] = size_arr[2];
- return arr;
- }
- };
- //设置高度
- Xclass.pt.setSize = function(type, px){
- let that = this;
- let c = that.c;
- if(c.model=='open'){
- let xtipdiv = that.xtipdiv;
- let xtiper_main = xtipdiv.getElementsByClassName('xtiper_main')[0];
- px = parseInt(px);
- if(type=='height'){
- let xtop = (window.innerHeight - px) / 2;
- xtiper_main.style.height = px+'px';
- xtiper_main.style.top = xtop+'px';
- }
- }
- };
- //设置高度
- Xclass.pt.setHeight = function(px){
- let that = this;
- that.setSize('height', px);
- };
- window.xtip = {
- ver: '2.7.0',
- msg: function(tip, config){
- if(!tip){
- return false;
- }
- config = config || {};
- let o = {};
- o.model = 'msg';
- o.tip = tip;
- o.times = config.times || 2;
- o.type = config.type || 'black';
- o.pos = config.pos || 'middle';
- o.icon = config.icon || '';
- o.zindex = config.zindex || 99999;
- return(this.run(o));
- },
- danmu: function(tip, config){
- if(!tip){
- return false;
- }
- config = config || {};
- let o = {};
- o.model = 'danmu';
- o.tip = tip;
- o.type = config.type || 'black';
- o.icon = config.icon || '';
- o.light = config.light!=null ? config.light : false;
- o.zindex = config.zindex || 99999;
- return(this.run(o));
- },
- tips: function(tip, element, config){
- if(!tip || !element){
- return false;
- }
- config = config || {};
- let o = {};
- o.model = 'tips';
- o.tip = tip;
- if(typeof(element)=='string'){
- let fir = element.substr(0, 1);
- if(fir=='#'){
- element = element.substr(1, element.length);
- }
- }
- o.element = element;
- o.bgcolor = config.bgcolor || '#000000';
- if(config.color){
- o.color = config.color;
- }else{
- let reg = /rgba\((255\,){3}[0-9.]+/;
- let rgba = reg.test(o.bgcolor);
- if(o.bgcolor=='#fff' || o.bgcolor=='#ffffff' || o.bgcolor=='white' || o.bgcolor=='rgb(255, 255, 255)' || o.bgcolor=='rgba(255, 255, 255)' || rgba===true){
- o.color = '#333333';
- }else{
- o.color = '#ffffff';
- }
- }
- o.times = config.times || 2;
- o.pos = config.pos || 'right';
- o.closeBtn = config.closeBtn || false;
- o.zindex = config.zindex || 99999;
- return(this.run(o));
- },
- alert: function(tip, config){
- config = config || {};
- let o = {};
- o.type = 'alert';
- o.tip = tip || '';
- o.icon = config.icon || '';
- o.title = config.title || '提示';
- if(config.btn){
- o.btn = typeof(config.btn)=='string' ? [config.btn] : [config.btn[0]];
- }else{
- o.btn = ['确定'];
- }
- o.btn1 = config.btn1!=null ? config.btn1 : null;
- o.btnbg = [];
- o.times = config.times || 0;
- o.shade = config.shade!=null ? config.shade : true;
- if(o.shade===true){
- o.shadeClose = config.shadeClose!=null ? config.shadeClose : true;
- }else{
- o.shadeClose = false;
- }
- return(this.win(o));
- },
- confirm: function(tip, config){
- config = config || {};
- let o = {};
- o.type = 'confirm';
- o.tip = tip || '';
- o.icon = config.icon || 'warning';
- o.title = config.title || '警告';
- o.btn = config.btn || ['确定', '取消'];
- if(o.btn && o.btn.length > 2){
- let newbtn = [];
- for(let i=0; i<2; i++){
- newbtn.push(o.btn[i]);
- }
- o.btn = newbtn;
- }
- o.btn1 = config.btn1!=null ? config.btn1 : null;
- o.btn2 = config.btn2!=null ? config.btn2 : null;
- o.btnbg = [true, false];
- o.shade = config.shade!=null ? config.shade : true;
- if(o.shade===true){
- o.shadeClose = config.shadeClose!=null ? config.shadeClose : true;
- }else{
- o.shadeClose = false;
- }
- return(this.win(o));
- },
- win: function(config){
- if(!config){
- return false;
- }
- let o = {};
- o.model = 'win';
- o.tip = config.tip || '';
- o.times = config.times || 0;
- o.type = config.type || 'confirm';
- o.icon = config.icon || '';
- o.title = config.title || '提示';
- o.shade = config.shade!=null ? config.shade : true;
- if(o.shade===true){
- o.shadeClose = config.shadeClose!=null ? config.shadeClose : true;
- }else{
- o.shadeClose = false;
- }
- o.lock = config.lock || false;
- o.btn = config.btn || null;
- if(o.btn && o.btn.length > 4){
- let newbtn = [];
- for(let i=0; i<4; i++){
- newbtn.push(o.btn[i]);
- }
- o.btn = newbtn;
- }
- o.btn1 = config.btn1!=null ? config.btn1 : null;
- o.btn2 = config.btn2!=null ? config.btn2 : null;
- o.btn3 = config.btn3!=null ? config.btn3 : null;
- o.btn4 = config.btn4!=null ? config.btn4 : null;
- o.btnbg = config.btnbg || [];
- o.width = config.width || '';
- o.maxWidth = config.maxWidth || '';
- o.end = typeof(config.end)=='function' ? config.end : null;
- o.min = config.min!=null ? config.min : false;
- o.move = true;
- o.app = false;
- o.zindex = config.zindex || 99999;
- o.success = config.success || null;
- return(this.run(o));
- },
- photo: function(content, config){
- if(!content){
- return false;
- }
- config = config || {};
- let o = {};
- o.type = 'photo';
- o.title = config.title || '';
- o.autoHeight = config.height ? false : true;
- o.width = config.width || '600px';
- o.height = config.height || '400px';
- o.content = content;
- o.app = config.app!=null ? config.app : false;
- o.lock = true;
- o.reset = true;
- o.index = config.index || 1;
- o.iftitle = config.iftitle!=null ? config.iftitle : true;
- o.iforder = config.iforder!=null ? config.iforder : true;
- return(this.open(o));
- },
- photoApp: function(content, config){
- if(!content){
- return false;
- }
- config = config || {};
- let o = {};
- o.type = 'photo';
- o.width = '100%';
- o.height = '100%';
- o.bgcolor = 'rgba(0, 0, 0, 1)';
- o.title = false;
- o.move = false;
- o.shade = true;
- o.shadeClose = false;
- o.closeBtn = true;
- o.content = content;
- o.photoapp = true;
- o.lock = true;
- o.reset = true;
- o.index = config.index || 1;
- o.iftitle = config.iftitle!=null ? config.iftitle : true;
- o.iforder = config.iforder!=null ? config.iforder : true;
- return(this.open(o));
- },
- open: function(config){
- if(!config==null || !config.type || !config.content){
- return false;
- }
- let o = {};
- o.model = 'open';
- o.type = config.type;
- o.content = config.content;
- o.id = config.id || '';
- o.title = config.title || '';
- if(config.autoHeight){
- o.autoHeight = config.autoHeight;
- }else{
- o.autoHeight = config.height ? false : true;
- }
- o.width = config.width || '600px';
- o.height = config.height || '400px';
- o.maxWidth = config.maxWidth || '';
- o.maxHeight = config.maxHeight || '';
- o.x = config.x || '';
- o.y = config.y || '';
- o.x = sizef(o.x);
- o.y = sizef(o.y);
- function sizef(str) {
- if(str){
- if(!isNaN(str)){
- return Number(str);
- }else{
- let reg = /\-?[0-9\.]*(px|%)*/, match, num;
- if(str){
- match = str.match(reg);
- if(!match[1] || (match[1] && match[1]=='px')){
- match[0] = match[0].replace(/px/g, '');
- num = Number(match[0]);
- }else{
- num = '';
- }
- return num;
- }
- }
- }else{
- return '';
- }
- }
- o.bgcolor = config.bgcolor || '';
- let reg = /rgba\((0\,){3}[0-9.]+/;
- let rgba = reg.test(o.bgcolor);
- if(o.bgcolor=='#000' || o.bgcolor=='#000000' || o.bgcolor=='black' || o.bgcolor=='rgb(0, 0, 0)' || o.bgcolor=='rgba(0, 0, 0)' || rgba===true){
- o.color = '#ffffff';
- }else{
- o.color = '';
- }
- o.shade = config.shade!=null ? config.shade : true;
- if(o.shade===true){
- o.shadeClose = config.shadeClose!=null ? config.shadeClose : true;
- }else{
- o.shadeClose = false;
- }
- o.end = typeof(config.end)=='function' ? config.end : null;
- o.min = config.min!=null ? config.min : false;
- o.max = config.max!=null ? config.max : false;
- o.closeBtn = config.closeBtn!=null ? config.closeBtn : true;
- o.move = config.move!=null ? config.move : true;
- o.lock = config.lock!=null ? config.lock : false;
- o.over = config.over!=null ? config.over : true;
- o.index = config.index || 1;
- o.app = config.app!=null ? config.app : false;
- if(o.app===true){
- if(o.type=='photo'){
- return(this.photoApp(o.content, o.index));
- }else{
- o.height = config.height || '';
- o.lock = true;
- o.shade = true;
- o.shadeClose = true;
- }
- }
- o.reset = config.reset!=null ? config.reset : true;
- o.zindex = config.zindex || 99999;
- o.photoapp = config.photoapp || false;
- o.iftitle = config.iftitle!=null ? config.iftitle : true;
- o.iforder = config.iforder!=null ? config.iforder : true;
- o.success = config.success || null;
- return(this.run(o));
- },
- load: function(tip, config){
- config = config || {};
- let o = {};
- o.model = 'load';
- o.tip = tip || '';
- o.times = config.times || 0;
- o.lock = config.lock!=null ? config.lock : false;
- o.zindex = config.zindex || 99999;
- o.closeBtn = config.closeBtn!=null ? config.closeBtn : false;
- return(this.run(o));
- },
- sheet: function(config){
- if(!config || !config.btn){
- return false;
- }
- let o = {};
- o.model = 'sheet';
- o.title = config.title || '';
- o.align = config.align || 'center';
- let btn = new Array();
- for(let i=0; i<8; i++){
- if(config.btn[i]){
- btn[i] = config.btn[i];
- }
- }
- o.btn = btn;
- o.btn1 = config.btn1 || null; o.btn2 = config.btn2 || null;
- o.btn3 = config.btn3 || null; o.btn4 = config.btn4 || null;
- o.btn5 = config.btn5 || null; o.btn6 = config.btn6 || null;
- o.btn7 = config.btn7 || null; o.btn8 = config.btn8 || null;
- o.force = config.force || '';
- o.btnClose = config.btnClose || '取消';
- o.lock = true;
- o.shadeClose = true;
- o.end = typeof(config.end)=='function' ? config.end : null;
- o.zindex = config.zindex || 99999;
- return(this.run(o));
- },
- //核心方法
- run: function(options){
- let x = new Xclass(options);
- return x.mainid;
- },
- close: function(closeid){
- let o = {};
- o.model = 'close';
- o.closeid = closeid;
- return(this.run(o));
- },
- closeAll: function(){
- let o = {};
- o.model = 'closeAll';
- return(this.run(o));
- },
- };
- }(window);