技术文档源码NOISE主页广告位弹窗源码
noise前言:加入广告位展示不仅仅是为广告位,更多的是其它信息板块的介绍,当然,如果你有好的产品或网站也可以私信我,我会加到我的页面中。
特征
- 页面加载2.5秒后自动从右侧弹出
- 每隔8秒更换展示
- 广告位分组简化且随机循环切换
- 带有关闭按钮,点击后即可关闭
- 仅在电脑端尺寸下显示,手机端自动隐藏
使用
你仅需要在页面内引入相应的JS和css文件即可
AD.js:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
| // 广告位 // 广告数组 var ads = [ { image: "https://jsd.cdn.noisework.cn/gh/rcy1314/tuchuang@main/20230818/11宝.5gadu623kd00.jpg", link: "https://noisevip.cn", description: "包罗万象-Noise宝藏阁" }, { image: "https://jsd.cdn.noisework.cn/gh/rcy1314/tuchuang@main/20230818/guang2.3c7b9a9xpvi0.png", link: "https://www.noisework.cn", description: "广告位+" }, { image: "https://jsd.cdn.noisework.cn/gh/rcy1314/tuchuang@main/20230818/2321312.1o5qd8jb6elc.jpg", link: "https://www.noisedh.cn", description: "超量收录-Noise导航" }, { image: "https://jsd.cdn.noisework.cn/gh/rcy1314/tuchuang@main/20230818/guang.6xvhojj7j8w0.jpg", link: "https://www.noisework.cn", description: "广告位+" } ];
// 随机打乱广告数组 function shuffle(array) { var currentIndex = array.length, temporaryValue, randomIndex;
while (0 !== currentIndex) { randomIndex = Math.floor(Math.random() * currentIndex); currentIndex -= 1;
temporaryValue = array[currentIndex]; array[currentIndex] = array[randomIndex]; array[randomIndex] = temporaryValue; }
return array; }
ads = shuffle(ads);
// 创建广告容器 var adContainer = document.createElement("div"); adContainer.className = "ad-container";
// 创建图片元素 var adImage = document.createElement("img"); adImage.className = "ad-image"; adContainer.appendChild(adImage);
// 创建文字说明元素 var adDescription = document.createElement("div"); adDescription.className = "ad-description"; adContainer.appendChild(adDescription);
// 创建链接元素 var adLink = document.createElement("a"); adLink.className = "ad-link"; adLink.target = "_blank"; adContainer.appendChild(adLink);
// 创建关闭按钮 var closeButton = document.createElement("div"); closeButton.className = "close-button"; closeButton.textContent = "X关闭"; adContainer.appendChild(closeButton);
// 将广告容器添加到页面中 document.body.appendChild(adContainer);
// 显示广告容器 function showAd() { adContainer.classList.add("show"); }
// 隐藏广告容器 function hideAd() { adContainer.classList.remove("show"); }
// 添加一个变量来跟踪广告是否已经显示过 var adDisplayed = false;
// 当前广告索引 var currentIndex = 0;
// 更换图片、链接和文字说明的函数 function changeAd() { // 更新图片、链接和文字说明 var nextIndex = (currentIndex + 1) % ads.length; var nextAd = ads[nextIndex]; adImage.src = nextAd.image; adLink.href = nextAd.link; adDescription.textContent = nextAd.description;
// 更新当前索引 currentIndex = nextIndex;
// 如果广告尚未显示过,则添加"点击查看广告"的文本节点 if (!adDisplayed) { adLink.appendChild(document.createTextNode("🔗点击查看")); adDisplayed = true; }
// 显示广告容器 showAd(); }
// 关闭广告的函数 function closeAd() { hideAd(); document.body.removeChild(adContainer); // 从DOM中移除广告容器 }
// 延迟2.5秒后立即弹出广告 setTimeout(changeAd, 2500);
// 定时器,每隔8秒更换图片、链接和文字说明 setInterval(changeAd, 8000);
// 绑定关闭按钮的点击事件 closeButton.addEventListener("click", closeAd);
|
AD.css:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| .ad-container { position: fixed; top: 25%; right: -500px; /* 初始位置在最右侧外部 */ transform: translateY(-50%); width: 200px; height: 200px; background-color: #100f0f66; padding: 1px; box-sizing: border-box; transition: right 0.3s; /* 动画过渡效果 */ z-index: 100; /* 调整广告显示图层 */ border-radius: 10px; /* 圆弧形状 */ overflow: hidden; /* 隐藏超出容器的内容 */ z-index: 100; /* 广告显示图层 */ } /* 手机端不显示广告位 */ @media (max-width: 600px) { .ad-container { display: none; } } .ad-container.show { right: 3px; /* 弹出显示位置 */ } .ad-image { width: 100%; height: 150px; object-fit: cover; border-radius: 10px 10px 0 0; /* 顶部圆弧形状 */ } .ad-link { display: block; margin-top: 3px; font-size: 12px; text-align: center; color: #d56d0c; text-decoration: none; } .ad-description { text-align: center; color: #fbfbfbcc; font-size: 13px; margin-top: 1px; } .close-button { position: absolute; top: 5px; right: 5px; cursor: pointer; color: #fbfbfbfe; }
|
预览:
访问;https://www.noisework.cn