根据您提供的代码,水印只显示半个屏幕的原因可能是循环的结束条件不正确。请确保 width
和 height
的值与实际屏幕尺寸相匹配。
您可以尝试修改代码如下:
function addWatermark(watermarkText, intervalX, intervalY) {
var body = document.body;
var width = window.innerWidth;
var height = window.innerHeight;
for (var x = 0; x < width; x += intervalX) {
for (var y = 0; y < height; y += intervalY) {
if (x + intervalX <= width && y + intervalY <= height) { // 添加判断条件,避免超出屏幕范围
var watermark = document.createElement('div');
watermark.style.pointerEvents = 'none';
watermark.style.position = 'fixed';
watermark.style.left = x + 'px';
watermark.style.top = y + 'px';
watermark.style.color = 'rgba(0, 0, 0, 0.1)';
watermark.style.fontSize = '20px';
watermark.innerHTML = watermarkText;
body.appendChild(watermark);
}
}
}
}
通过添加判断条件 (x + intervalX <= width && y + intervalY <= height)
,确保在生成水印时不会超出屏幕范围。
希望这对解决问题有所帮助!如果还有其他问题,请随时提问。
内容由零声教学AI助手提供,问题来源于学员提问