Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用带有click事件的jQuery更改元素的文本。过了一会儿它又变回来了_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 使用带有click事件的jQuery更改元素的文本。过了一会儿它又变回来了

Javascript 使用带有click事件的jQuery更改元素的文本。过了一会儿它又变回来了,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在构建一个神奇的8球页面,每次我单击页面上的提交按钮时,标题#eightBallAnswer中的文本都会更改为我的随机答案之一,持续几秒钟,然后更改回HTML中的原始文本。我已经在多个浏览器中尝试过了。如果您能提供一些见解,我们将不胜感激 以下是我的jQuery: $(document).ready(function(){ $("#submit").click(function() { //List of possible responses var

我正在构建一个神奇的8球页面,每次我单击页面上的提交按钮时,标题#eightBallAnswer中的文本都会更改为我的随机答案之一,持续几秒钟,然后更改回HTML中的原始文本。我已经在多个浏览器中尝试过了。如果您能提供一些见解,我们将不胜感激

以下是我的jQuery:

$(document).ready(function(){
    $("#submit").click(function() {

        //List of possible responses
        var response = ["Ask again later…", "Yes", "No", "It appears so", "Reply is hazy, please try again", "Yes, definitely", "What is it you really want to know?", "Outlook is good", "My sources say no", "Signs point to yes", "Don't count on it", "Cannot predict now", "As I see it, yes", "Better not tell you now", "Concentrate and ask again"];

        //generate a random number between 0-14
        var randomNumber = Math.floor(Math.random() * 15);

        //Present random answer
        $("#eightBallAnswer").text(response[randomNumber]);
    });
});

这是因为您的表单正在提交,页面正在刷新:)

使用
event.preventDefault()


不要使用
元素。如果表单中有一个提交按钮,则单击该按钮将提交表单,从而重新加载页面。或者您可以从事件处理程序中取消按钮的默认行为。谢谢!这也很有效,为了简单起见,我采用了您的解决方案。事实证明,HTML5在表单标记中没有包含输入的情况下也可以进行验证。令人惊叹的!这很有效,@nnnnnn也很正确,只要从我的html中删除表单标记,页面就不会刷新。谢谢你帮了一个新手,伙计们!
$(document).ready(function(){
    $("#submit").click(function( event ) {

        event.preventefault();

        //List of possible responses
        var response = ["Ask again later…", "Yes", "No", "It appears so", "Reply is hazy, please try again", "Yes, definitely", "What is it you really want to know?", "Outlook is good", "My sources say no", "Signs point to yes", "Don't count on it", "Cannot predict now", "As I see it, yes", "Better not tell you now", "Concentrate and ask again"];

        //generate a random number between 0-14
        var randomNumber = Math.floor(Math.random() * 15);

        //Present random answer
        $("#eightBallAnswer").text(response[randomNumber]);
    });
});