// 封装成公用方法
const TpWatermark = (CON, H, W, R, C, S, O) => {
// 判断水印是否存在,如果存在,那么不执行
if (document.getElementById('tp-watermark') != null) {
return;
}
var TpLine = parseInt(document.body.clientWidth / W) * 2; // 一行显示几列
var StrLine = '';
for (var i = 0; i < TpLine; i++) {
StrLine +=
'<span style="display: inline-block; line-height:' +
H +
'px; width:' +
W +
'px; text-align: center; transform:rotate(' +
R +
'deg); color:' +
C +
'; font-size:' +
S +
'px; opacity:' +
O +
';">' +
CON +
'</span>';
}
var DivLine = document.createElement('div');
DivLine.innerHTML = StrLine;
var TpColumn = parseInt(document.body.clientHeight / H) * 2; // 一列显示几行
var StrColumn = '';
for (var i = 0; i < TpColumn; i++) {
StrColumn +=
'<div style="white-space: nowrap;">' + DivLine.innerHTML + '</div>';
}
var DivLayer = document.createElement('div');
DivLayer.innerHTML = StrColumn;
DivLayer.id = 'tp-watermark'; // 给水印盒子添加类名
DivLayer.style.position = 'fixed';
DivLayer.style.top = '0px'; // 整体水印距离顶部距离
DivLayer.style.left = '-100px'; // 改变整体水印的left值
DivLayer.style.zIndex = '99999'; // 水印页面层级
DivLayer.style.pointerEvents = 'none';
document.body.appendChild(DivLayer); // 到页面中
};
// CON => 水印文字内容
// H => 水印行高
// W => 水印宽度
// R => 旋转度数(可为负值)
// C => 水印字体颜色
// S => 水印字体的大小
// O => 水印透明度(0~1之间取值)
// 开启水印
const StateTpWatermark = () => {
TpWatermark('机密','170','400','-20','red','50','.5')
}
export default StateTpWatermark
需要使用时:
import StateTpWatermark from '../../watermark'
function Home(props) {
StateTpWatermark();
return (
<>
......
</>
)
}
export default Home
关闭水印的方法:
const RemoveTpWatermark = () => {
// 判断水印是否存在,如果存在,那么执行
if (document.getElementById('tp-watermark') == null) {
return;
}
document.body.removeChild(document.getElementById('tp-watermark'));
};