我已经使脚本工作了,但是当我尝试添加另一个脚本时,它将无法运行。我尝试将其放置在此处其他人说的所有地方(在标记之前),但无法使用。所以我想知道这可能有问题。这是PHP文件中的HTML代码,所以我认为那里可能有问题吗?我尝试了window.onload,但效果不佳。我的想法不多了,所以我不得不在这里问。多亏有谁能够指出我在哪里错了。
这是我当前的代码:
<html>
<body>
<div class="first-row" bordercolor="yellow">
<div id="countdown"></div>
<script>
function UpdateRecord() {
var userid = '.$userid.';
var logid = '.$row['spotid'].';
$.ajax({
type:"POST",
url:"spotlightcount.php",
data:{ userid: userid, logid: logid },
success:function () {
}
});
}
</script>
<script>
var timeleft = 15;
var downloadTimer = setInterval(function(){
document.getElementById("countdown").innerHTML = "<span id=" + "clicklink" + ">" + "   Watch the ad for " + timeleft + " more seconds! Feel free to look around! Or</font> <a href=" + "members.php" + "><font color=" + "white" + ">>Skip login ad!<</font></a></span>";
timeleft -= 1;
if(timeleft <= 0){
clearInterval(downloadTimer);
document.getElementById("countdown").innerHTML = "<span id=" + "linkclick" +">   You have been given 10 credits and 10 response points! <a href=" + "members.php" + "><font color=" + "yellow" + ">>Click here to go to members area!<</font></a><font color=" + "white" + "> or</font> <a href=" + "loginad.php" + "><font color=" + "yellow" + ">>Reserve your own login ad!<</font></a></span> ";
UpdateRecord();
}
}, 1000);
</script>
</div>
<div id="second-row" class="second-row">
<iframe id="loginad" src="'.$row['adurl'].'"></iframe>
</div>
<script> (This part doesn't work)
document.getElementById("second-row").onclick = function(e){
alert("click");
};
</script>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script src="fitty.min.js"></script>
<script>
fitty("#clicklink");
fitty("#linkclick");
</script>
</body></html>
如代码所示,我将“此部分不起作用”放置在脚本无法执行任何操作的位置。也许你们可以帮助我并使其成功吗?我希望能够捕获div的点击事件。
答案 0 :(得分:1)
要在HTML或javascript代码部分中使用PHP变量,请使用
<?= $variable ?>
例如,在您的代码中:
function UpdateRecord() {
var userid = '<?=$userid?>';
var logid = '<?=$row["spotid"]?>';
...
}
要在字符串中使用引号,您可以混合使用单引号和双引号(最好选择一个并坚持使用):
var strSingleInDouble = "<span id='clicklink'>";
var strDoubleInSingle = '<span id="clicklink">';
或像这样转义内部引号:
var strEscaped = "<span id=\"clicklink\">";
如果 clicklink 是一个javascript变量,请不要使用任何引号。
var varInStr = "<span id=" + clicklink + ">";
答案 1 :(得分:0)
您需要在Spotid中添加“”,并且$ .ajax中存在一些问题,因为您无法在JavaScript文件中使用$ .ajax
var logid = '.$row["spotid"].';
$.ajax({
type: "POST",
url: "spotlightcount.php",
data: { userid: userid, logid: logid },
success: function () {
}
});