Javascript如何设置水印叠堆
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,这篇文章主要讲解了"Javascript如何设置水印叠堆",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Javascript如何设置水印叠堆"吧!Jav
千家信息网最后更新 2025年11月10日Javascript如何设置水印叠堆
这篇文章主要讲解了"Javascript如何设置水印叠堆",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Javascript如何设置水印叠堆"吧!
Javascript设置水印叠堆的方法:1、通过javascript创建页面元素p,并在p元素中创建文本节点,展示水印内容;2、设置p元素样式,将其zIndex设置一个较高的值,并设置透明度,实现浮在页面的水印效果即可。

本文操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
Javascript怎么设置水印叠堆?
水印铺满:html+javascript实现动态页面水印
1.基本原理
页面加载后,通过javascript创建页面元素p,并在p元素中创建文本节点,展示水印内容
设置p元素样式,将其zIndex设置一个较高的值,并设置透明度,实现浮在页面的水印效果
其核心逻辑如下所示
var mask_p = document.createElement('p'); mask_p.id = 'mask_p1'; mask_p.appendChild(document.createTextNode("test")); mask_p.style.position = "absolute"; mask_p.style.left = '20px'; mask_p.style.top = '20px'; mask_p.style.overflow = "hidden"; mask_p.style.zIndex = "9999"; mask_p.style.opacity = 0.3; document.body.appendChild(mask_p);2.继续完善
上述示例只在页面某处展示了一个水印,实际应用中往往需要在页面中铺满水印
在满足这种需求同时,下述代码将各种属性以配置方式提供给使用者,可根据需要灵活调用
function watermark(settings) { //默认设置 var defaultSettings={ watermark_txt:"text", watermark_x:20,//水印起始位置x轴坐标 watermark_y:20,//水印起始位置Y轴坐标 watermark_rows:20,//水印行数 watermark_cols:20,//水印列数 watermark_x_space:100,//水印x轴间隔 watermark_y_space:50,//水印y轴间隔 watermark_color:'#000000',//水印字体颜色 watermark_alpha:0.3,//水印透明度 watermark_fontsize:'18px',//水印字体大小 watermark_font:'微软雅黑',//水印字体 watermark_width:120,//水印宽度 watermark_height:80,//水印长度 watermark_angle:15//水印倾斜度数 }; //采用配置项替换默认值,作用类似jquery.extend if(arguments.length===1&&typeof arguments[0] ==="object" ) { var src=arguments[0]||{}; for(key in src) { if(src[key]&&defaultSettings[key]&&src[key]===defaultSettings[key]) continue; else if(src[key]) defaultSettings[key]=src[key]; } } var oTemp = document.createDocumentFragment(); //获取页面最大宽度 var page_width = Math.max(document.body.scrollWidth,document.body.clientWidth); //获取页面最大长度 var page_height = Math.max(document.body.scrollHeight,document.body.clientHeight); //如果将水印列数设置为0,或水印列数设置过大,超过页面最大宽度,则重新计算水印列数和水印x轴间隔 if (defaultSettings.watermark_cols == 0 || (parseInt(defaultSettings.watermark_x + defaultSettings.watermark_width *defaultSettings.watermark_cols + defaultSettings.watermark_x_space * (defaultSettings.watermark_cols - 1)) > page_width)) { defaultSettings.watermark_cols = parseInt((page_width -defaultSettings.watermark_x +defaultSettings.watermark_x_space) / (defaultSettings.watermark_width + defaultSettings.watermark_x_space)); defaultSettings.watermark_x_space = parseInt((page_width - defaultSettings.watermark_x - defaultSettings.watermark_width * defaultSettings.watermark_cols) / (defaultSettings.watermark_cols - 1)); } //如果将水印行数设置为0,或水印行数设置过大,超过页面最大长度,则重新计算水印行数和水印y轴间隔 if (defaultSettings.watermark_rows == 0 || (parseInt(defaultSettings.watermark_y + defaultSettings.watermark_height * defaultSettings.watermark_rows + defaultSettings.watermark_y_space * (defaultSettings.watermark_rows - 1)) > page_height)) { defaultSettings.watermark_rows = parseInt((defaultSettings.watermark_y_space + page_height - defaultSettings.watermark_y) / (defaultSettings.watermark_height + defaultSettings.watermark_y_space)); defaultSettings.watermark_y_space = parseInt((page_height - defaultSettings.watermark_y - defaultSettings.watermark_height * defaultSettings.watermark_rows) / (defaultSettings.watermark_rows - 1)); } var x; var y; for (var i = 0; i < defaultSettings.watermark_rows; i++) { y = defaultSettings.watermark_y + (defaultSettings.watermark_y_space + defaultSettings.watermark_height) * i; for (var j = 0; j < defaultSettings.watermark_cols; j++) { x = defaultSettings.watermark_x + (defaultSettings.watermark_width + defaultSettings.watermark_x_space) * j; var mask_p = document.createElement('p'); mask_p.id = 'mask_p' + i + j; mask_p.appendChild(document.createTextNode(defaultSettings.watermark_txt)); //设置水印p倾斜显示 mask_p.style.webkitTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)"; mask_p.style.MozTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)"; mask_p.style.msTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)"; mask_p.style.OTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)"; mask_p.style.transform = "rotate(-" + defaultSettings.watermark_angle + "deg)"; mask_p.style.visibility = ""; mask_p.style.position = "absolute"; mask_p.style.left = x + 'px'; mask_p.style.top = y + 'px'; mask_p.style.overflow = "hidden"; mask_p.style.zIndex = "9999"; //mask_p.style.border="solid #eee 1px"; mask_p.style.opacity = defaultSettings.watermark_alpha; mask_p.style.fontSize = defaultSettings.watermark_fontsize; mask_p.style.fontFamily = defaultSettings.watermark_font; mask_p.style.color = defaultSettings.watermark_color; mask_p.style.textAlign = "center"; mask_p.style.width = defaultSettings.watermark_width + 'px'; mask_p.style.height = defaultSettings.watermark_height + 'px'; mask_p.style.display = "block"; oTemp.appendChild(mask_p); }; }; document.body.appendChild(oTemp);}3.调用方式
watermark({ watermark_txt: "测试水印" })//传入动态水印内容//onload时触发水印绘制_window.onload=function(){watermark({ watermark_txt: "测试水印" });};//onresize时触发水印绘制_window.onresize = function () { watermark({ watermark_txt: "测试水印",watermark_width:50 }) };感谢各位的阅读,以上就是"Javascript如何设置水印叠堆"的内容了,经过本文的学习后,相信大家对Javascript如何设置水印叠堆这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
水印
页面
元素
内容
最大
字体
宽度
透明度
长度
学习
测试
位置
动态
坐标
效果
文本
方式
样式
节点
中创
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
临海伟程网络技术有限公司
手游服务器卡会导致游戏卡顿吗
App软件开发的一个主题
数据库与表集合
虹口区软件开发技术服务有哪些
高端网络安全服务怎么选择
成考计算机网络技术好学吗
搜狗手机软件开发者
t410服务器黄灯闪烁
大数据的软件开发
服务器攻防秘笈
网络安全怎么攻击
ug服务器许可证明
中国数据库核心技术
空气弹簧的软件开发
长宁区参考数据库代理品牌
护苗网络安全系列课堂第3课
怀柔区网络营销软件开发供应
江苏软件开发检测中心
网络安全谈教学课件
sql远程备份数据库
建立网络安全生态
数据库多个纬度的数据汇总
为什么要建设书法数据库
如何建立游戏主机服务器
苏州中太服务器
我国的网络安全
用数据库检索化学式
内蒙古互联网软件开发方案
江苏软件开发检测中心