gpt4 book ai didi

javascript - jQuery .on click 仅运行一次

转载 作者:行者123 更新时间:2023-12-02 17:33:01 25 4
gpt4 key购买 nike

我正在为我的网站建立一个评级系统。我对 jQuery 很陌生,不太明白为什么 .on click 只运行一次。每次我单击#ratenumbers2 时它都应该运行。另外,如果您对如何简化或编写更紧凑的代码有任何其他建议,我将非常感激。

<!DOCTYPE html>
<html>
<head>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>

function fade_out() {$("#votersmessage").fadeOut(4000);}


$(document).ready(function () {
$("#ratenumbers").on("click", "#ratenumbers2", function () {
document.getElementById("votersmessage").innerHTML = "You can only rate once";
setTimeout(fade_out, 2000);
});
});
</script>
</head>
<body>
<?php
$usersrating = 5; //I just added this for testing purposes
if(!$usersrating)
{echo"
<span id='ratetitle'>Your rating:</span><span id='ratenumbers'>
<span id='rate1' onmouseover='rate1()' onmouseout='rateblanc()'>&#9734;</span>
<span id='rate2' onmouseover='rate2()' onmouseout='rateblanc()'>&#9734;</span>
<span id='rate3' onmouseover='rate3()' onmouseout='rateblanc()'>&#9734;</span>
<span id='rate4' onmouseover='rate4()' onmouseout='rateblanc()'>&#9734;</span>
<span id='rate5' onmouseover='rate5()' onmouseout='rateblanc()'>&#9734;</span>
<span id='rate6' onmouseover='rate6()' onmouseout='rateblanc()'>&#9734;</span>
<span id='rate7' onmouseover='rate7()' onmouseout='rateblanc()'>&#9734;</span>
<span id='rate8' onmouseover='rate8()' onmouseout='rateblanc()'>&#9734;</span>
</span>";}
else
{
echo"
<span id='ratetitle'>Your rating:</span><span id='ratenumbers'><span id='ratenumbers2'>";
if($usersrating == 1){echo" &#9733; &#9734; &#9734; &#9734; &#9734; &#9734; &#9734; &#9734; ";}
if($usersrating == 2){echo" &#9733; &#9733; &#9734; &#9734; &#9734; &#9734; &#9734; &#9734; ";}
if($usersrating == 3){echo" &#9733; &#9733; &#9733; &#9734; &#9734; &#9734; &#9734; &#9734; ";}
if($usersrating == 4){echo" &#9733; &#9733; &#9733; &#9733; &#9734; &#9734; &#9734; &#9734; ";}
if($usersrating == 5){echo" &#9733; &#9733; &#9733; &#9733; &#9733; &#9734; &#9734; &#9734; ";}
if($usersrating == 6){echo" &#9733; &#9733; &#9733; &#9733; &#9733; &#9733; &#9734; &#9734; ";}
if($usersrating == 7){echo" &#9733; &#9733; &#9733; &#9733; &#9733; &#9733; &#9733; &#9734; ";}
if($usersrating == 8){echo" &#9733; &#9733; &#9733; &#9733; &#9733; &#9733; &#9733; &#9733; ";}
echo"</span></span>";
}
?>
<span id='ratingend'></span>
<span id='votersmessage'></span>
</body>
</html>

最佳答案

因为在 fadeOut() 之后,您不会再次显示 $("#votersmessage")。也许类似

$("#ratenumbers").on("click", "#ratenumbers2", function () {
$("#votersmessage").html("You can only rate once");
$("#votersmessage").show(); //or fadeIn() for some class
setTimeout(fade_out, 2000);
});

关于javascript - jQuery .on click 仅运行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22884672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com