嗨我想让这个开始加载,直到用有效答案回答提示框。并且每月只弹出一次,这可能吗?或者除了JS和HTML之外还需要其他什么吗?
<script language="javascript">
function buildBar(id, callback) {
var currentAdb = 0;
var imgCtb = 150;
function cycleb() {
var output = '';
for (var i = 0; i < imgCtb; i++) {
output += i > currentAdb ? ' ' : '/';
}
output += '';
document.getElementById(id).innerHTML = output;
++currentAdb;
if (currentAdb == imgCtb) {
window.clearInterval(myInterval);
if (typeof callback == 'function') {
callback();
}
}
else{
window.setTimeout(cycleb,10+Math.random()*225);
}
}
var myInterval = window.setTimeout(cycleb, 100);
}
function callback1() {
buildBar('adLinkb2', callback2);
}
function callback2() {
//window.location... stuff here
window.location = "https://findretros.com/rankings/vote/NabboHotel";
}
buildBar('adLinkb', callback1);
</script>
<div id="adLinkb" style="border: 1px solid black;width:452;background-color:black;border-color:white"></div>
<div id="adLinkb2" style="border: 1px solid black;width:452;background-color:black;border-color:white"></div>
答案 0 :(得分:1)
尝试使用prompt(),然后检查用户在提示中输入的值。
function bar(){
document.getElementById('test').innerHTML="You answered the question correctly!"
}
function foo(){
document.getElementById('test').innerHTML="You didn't answer the question correctly."
}
var answer = prompt("Enter Test123","");
if(answer == "Test123"){
bar();
}
if(answer != "Test123"){
foo();
}
<div id="test"></div>
至于每月运行一次...如果你想让它在每个月的第一天运行,你可以使用getDate()并在结果为1时调用函数(或者你想要使用的任何一天)。如果您需要在提供答案一个月后提示用户,那么您将需要使用服务器端脚本和数据库(例如PHP + MySQL)。
如果用户有多个字符串可以输入(例如Test123,Sample456等)并且他们连续两个月不能输入相同的字符串,则需要使用MySQL等数据库来存储结果。然后你需要将每月的答案与上个月的答案进行比较。