我有一个脚本(广告脚本),我想仅当我网站上的按钮被点击 X 次时才触发他。
<script type="text/javascript" src="ADS_URL"></script>
假设这是我的脚本。这是我在按钮被点击 5 次后发现的,但之后我就被阻止了。我不知道如何触发脚本。
我应该将脚本粘贴到哪里?谢谢您的帮助!
$("#button").click(function() {
nclick++;
if (nclick == 7) {
nclick = 0;
// Make something
};
});
最佳答案
以下代码对我来说效果很好:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Example</title>
<script src="http://code.jquery.com/jquery-2.1.3.min.js"></script>
<script>
"use strict";
var nclick = 0;
$(document).ready(function() {
// ===== START OF QUESTION CODE =====
$("#button").click(function() {
nclick++;
if (nclick == 7) {
nclick = 0;
alert("Pretend that this is an ad.");
}
});
// ===== END OF QUESTION CODE =====
});
</script>
</head>
<body>
<a id="button" href="#">Click me!</a>
</body>
</html>
如果您的代码未运行:
- 检查浏览器控制台。有错误吗?
- 您的页面中包含 jQuery 吗?
- 您是否在页面准备就绪时附加
#button
函数?您可能尝试在创建按钮之前添加事件。 - 您是否声明了
nclick
变量并将其初始化为零?
编辑
好的,问题现在已经澄清了 - 广告脚本在页面加载后立即出现,但您希望将其延迟到按钮被点击 7 次为止。解决方案与上面基本相同,不过:
ads.js
alert("hello, world!");
示例.htm
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Example</title>
<script src="http://code.jquery.com/jquery-2.1.3.min.js"></script>
<script>
"use strict";
var nclick = 0;
var ad_script = null;
$(document).ready(function() {
// ===== START OF QUESTION CODE =====
$("#button").click(function() {
nclick++;
if (nclick == 7) {
nclick = 0;
ad_script = document.body.appendChild(document.createElement("script"));
ad_script.src = "ads.js"
}
else if (ad_script)
{
document.body.removeChild(ad_script);
ad_script = null;
}
});
// ===== END OF QUESTION CODE =====
});
</script>
</head>
<body>
<a id="button" href="#">Click me!</a>
</body>
</html>
一旦计数器达到 7,只需将脚本添加到页面即可。
关于javascript - 触发脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28496321/