Javascript onClick使用“中的随机文本行刷新div”;quotes.txt“;
我有一个报价生成器在。我希望用户能够点击报价并加载另一个随机报价,而不刷新整个页面。我该怎么做Javascript onClick使用“中的随机文本行刷新div”;quotes.txt“;,javascript,php,Javascript,Php,我有一个报价生成器在。我希望用户能够点击报价并加载另一个随机报价,而不刷新整个页面。我该怎么做 <h3> <?php $randomThings = file('quotes.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); echo $randomThings[mt_rand(0,count($randomThings)-1)];?> </h3> 我尝试了科林·肖恩的以下建议: <d
<h3>
<?php $randomThings = file('quotes.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
echo $randomThings[mt_rand(0,count($randomThings)-1)];?>
</h3>
我尝试了科林·肖恩的以下建议:
<div id="new-projects"></div>
<script>
$( "#new-projects" ).load( "quotes.txt" );
</script>
$(“#新项目”).load(“quotes.txt”);
但它加载了全部307个引号,而不是一个随机引号
如何解决这个问题?您需要使用代表异步JavaScript和XML的AJAX。您可以使用jQuery库来减少异步加载新内容所需的代码量。请查看jQuery文档:
一种更具响应性的方法是在用户打开页面时加载整个文件,只需将行放在一个数组中即可。然后,您可以使用JavaScript根据该数组更改div,您永远不必刷新页面,甚至不必使用AJAX与服务器联系。您提到您有300多个引号,因此客户端页面上的内联JS引号数组可能效率不高。下面是一个使用jQuery和PHP的快速解决方案: PHP-quotes.PHP
<?php
// This is your original PHP code, mostly
$randomThings = file('quotes.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
echo $randomThings[mt_rand(0,count($randomThings)-1)];
?>
HTML端
<H3 id="new-projects"></H3>
<script>
$( "#new-projects" ).on("click", function(){
$(this).load( "quotes.php" );
});
</script>
$(“#新项目”)。在(“单击”,函数(){
$(this.load(“quotes.php”);
});
有多少个引号?你能用上面的代码制作一个专用的quotes.php吗?我有307个引号。是的,我可以使用php来响应和运行上面的代码。太棒了!工作得很好!非常感谢你!