Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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 显示XML文件中的随机问题和答案_Javascript_Jquery_Xml_Random - Fatal编程技术网

Javascript 显示XML文件中的随机问题和答案

Javascript 显示XML文件中的随机问题和答案,javascript,jquery,xml,random,Javascript,Jquery,Xml,Random,我正在尝试构建一个单页HTML应用程序,以随机顺序显示问题和答案 以下是所需的功能: 显示了来自XML文件的随机问题。 用户单击页面上的按钮,问题将替换为XML文件中的相关答案。 用户最好单击相同的按钮,并重复步骤1-2。但是,我希望新的问题只是伪随机的:在XML文件中的所有其他问题都显示出来之前,用户不应该在一个会话中再次看到相同的问题。 因为我正在尝试实现类似移动应用的用户体验,我不希望在初始页面加载后重新加载任何页面,但当用户点击按钮时,应该立即显示Q&A 我只使用JavaScript/j

我正在尝试构建一个单页HTML应用程序,以随机顺序显示问题和答案

以下是所需的功能:

显示了来自XML文件的随机问题。 用户单击页面上的按钮,问题将替换为XML文件中的相关答案。 用户最好单击相同的按钮,并重复步骤1-2。但是,我希望新的问题只是伪随机的:在XML文件中的所有其他问题都显示出来之前,用户不应该在一个会话中再次看到相同的问题。 因为我正在尝试实现类似移动应用的用户体验,我不希望在初始页面加载后重新加载任何页面,但当用户点击按钮时,应该立即显示Q&A

我只使用JavaScript/jQuery就可以做到这一点,对吗?如果需要,我也可以使用PHP,但纯JS实现会更有趣


如果有人能告诉我如何解决这个问题,我将不胜感激。

如果你的按钮有class按钮,你可以用class question在一个div上显示问题,你的xml保存在一个变量上,比如questions,下面的jQuery代码应该可以做到这一点

var q;
$( '.button' ).click( function(){
    if( q == false ){
        q = $( questions ).sort( function(){
            return Math.random() > 0.5
        } ).first();
        $( '.question' ).text( q.children( 'question' ).text() );
    }
    else{
        $( '.question' ).text( q.children( 'answer' ).text() );
        $( questions ).first().remove();
        q = false;
    }
} );
我假设您的xml如下所示:

<entry>
    <question>Here lies a question.</question>
    <answer>And here is the answer!</answer>
</entry>
<entry>
    <question>Here lies another question.</question>
    <answer>And here is the answer!</answer>
</entry>

好吧,你需要有一个具体的问题,如果你提供零代码,我们什么也帮不了你。开始构建你的应用程序,自己发现,如果遇到问题,请在此处寻求帮助