@ylz/plugins
Version:
ylz plugins
3 lines (2 loc) • 3.66 kB
JavaScript
/* * Copyright © 2019-2019 chenwenbin * Released under the MIT License. */
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self)["water-mark"]=t()}(this,(function(){"use strict";function e(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function r(r){for(var o=1;o<arguments.length;o++){var n=null!=arguments[o]?arguments[o]:{};o%2?t(n,!0).forEach((function(t){e(r,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):t(n).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(n,e))}))}return r}var o=function(e){var t={id:"water-mark",prefix:"water-mark-item",txt:"",markX:20,markY:20,rows:0,cols:0,xSpace:100,ySpace:50,font:"微软雅黑",color:"black",fontsize:"18px",alpha:.1,width:100,height:100,angle:12,parentWidth:0,parentHeight:0,parentNode:null,clear:!1};t=r({},t,{},e);var o=document.getElementById(t.id);if(o){var n=o.parentNode;n&&n.removeChild(o)}if(!t.clear){var a=Math.max(document.body.scrollWidth,document.body.clientWidth)-t.width/2,i=Math.max(document.body.scrollHeight,document.body.clientHeight,document.documentElement.clientHeight)-t.height/2,l=arguments[0]||{},s=t.parentNode,d=0,c=0;l.parentWidth||l.parentHeight?(l.parentWidth?a=l.parentWidth-t.width/2:t.parentNode&&(a=s.offsetWidth-t.width/2),l.parentHeight?i=l.parentHeight-t.height/2:t.parentNode&&(i=Math.max(s.offsetHeight,s.scrollHeight)-t.height/2),s&&(d=s.offsetTop||0,c=s.offsetLeft||0,t.markX=t.markX+c,t.markY=t.markY+d)):s&&(d=s.offsetTop||0,c=s.offsetLeft||0,a=s.offsetWidth-t.width/2||0,i=Math.max(s.offsetHeight,s.scrollHeight)-t.height/2||0,t.markX=t.markX+c,t.markY=t.markY+d);var h,p,f=document.getElementById(t.id),m=null;if(f)f.shadowRoot&&(m=f.shadowRoot);else{(f=document.createElement("div")).id=t.id,f.style.pointerEvents="none",m=f;var y=document.body.children,u=Math.floor(Math.random()*(y.length-1));y[u]?document.body.insertBefore(f,y[u]):document.body.appendChild(f)}(0===t.cols||parseInt(t.markX+t.width*t.cols+t.xSpace*(t.cols-1))>a)&&(t.cols=parseInt((a-t.markX+c)/(t.width+t.xSpace)),t.xSpace=parseInt((a-t.markX+c-t.width*t.cols)/(t.cols-1))),(0===t.rows||parseInt(t.markY+t.height*t.rows+t.ySpace*(t.rows-1))>i)&&(t.rows=parseInt((i-t.markY+d)/(t.height+t.ySpace)),t.ySpace=parseInt((i-t.markY+d-t.height*t.rows)/(t.rows-1)));for(var g=0;g<t.rows;g++){p=t.markY+(t.ySpace+t.height)*g;for(var w=0;w<t.cols;w++){h=t.markX+(t.width+t.xSpace)*w;var b=document.createElement("div"),k=document.createTextNode(t.txt);b.appendChild(k),b.id=t.prefix+g+w,b.style.webkitTransform="rotate(-"+t.angle+"deg)",b.style.MozTransform="rotate(-"+t.angle+"deg)",b.style.msTransform="rotate(-"+t.angle+"deg)",b.style.OTransform="rotate(-"+t.angle+"deg)",b.style.transform="rotate(-"+t.angle+"deg)",b.style.visibility="",b.style.position="absolute",b.style.left=h+"px",b.style.top=p+"px",b.style.overflow="hidden",b.style.zIndex="9999999",b.style.pointerEvents="none",b.style.opacity=t.alpha,b.style.fontSize=t.fontsize,b.style.fontFamily=t.font,b.style.color=t.color,b.style.textAlign="center",b.style.width=t.width+"px",b.style.height=t.height+"px",b.style.display="block",b.style["-ms-user-select"]="none",m.appendChild(b)}}}};return{load:function(e){return o(e)},clear:function(){return o({clear:!0})}}}));