Javascript 单击按钮刷新图像,不刷新页面

Javascript 单击按钮刷新图像,不刷新页面,javascript,jquery,html,button,Javascript,Jquery,Html,Button,我有一个用于图像搜索按钮的div类: <div class="form-group"> <button onclick="myFunction()">Click me</button> <p id="demo"></p> <script> function myFunction() { <?php $link = "https://sou

我有一个用于图像搜索按钮的div类:

<div class="form-group">
    <button onclick="myFunction()">Click me</button>
    <p id="demo"></p>
    <script>
        function myFunction() {

        <?php
            $link = "https://source.unsplash.com/all/?";
            $c=$link.$article->title;
            ?>
         document.getElementById("demo").innerHTML ="
        <?php echo "
            <img src=".$c." height='100' width='100'/>"?>"
        }

    </script>
</div>
但是如果我想通过点击这个按钮来选择另一张图片,我必须刷新我的页面。 所以问题是:我是否可以通过单击相同的搜索按钮来选择另一个没有页面刷新的图像?
对不起,我说的是英语。

为了简单起见,我们假设您有一个名为
$articleList
的变量,其中包含每个
$article
对象

<div class="form-group">
     <button onclick="myFunction()">Click me</button>
     <p id="demo"></p>
     <script>
         var articleList = <?php echo json_encode($articleList); ?>;
         var counter = 0;
         var link = "https://source.unsplash.com/all/?";
         function myFunction() {
             var c = link + articleList[counter++].title;
             document.getElementById("demo").innerHTML = "<img src=" + c + " height='100' weidth='100'/>";
         }
     </script>
 </div>

点击我

var-articlist=; var计数器=0; 变量链接=”https://source.unsplash.com/all/?"; 函数myFunction(){ var c=链接+文章列表[counter++]。标题; document.getElementById(“demo”).innerHTML=“”; }
为了简单起见,让我们假设您有一个名为
$articleList
的变量,它包含每个
$article
对象

<div class="form-group">
     <button onclick="myFunction()">Click me</button>
     <p id="demo"></p>
     <script>
         var articleList = <?php echo json_encode($articleList); ?>;
         var counter = 0;
         var link = "https://source.unsplash.com/all/?";
         function myFunction() {
             var c = link + articleList[counter++].title;
             document.getElementById("demo").innerHTML = "<img src=" + c + " height='100' weidth='100'/>";
         }
     </script>
 </div>

点击我

var-articlist=; var计数器=0; 变量链接=”https://source.unsplash.com/all/?"; 函数myFunction(){ var c=链接+文章列表[counter++]。标题; document.getElementById(“demo”).innerHTML=“”; }
重新评估您的问题,它似乎更像是一个缓存问题。我仍然会把我以前的答案贴在网上,因为这可能会对其他人有所帮助。如下图所示,尝试向url添加时间戳,这将为您获得一个新图像:

<div class="form-group">
    <button onclick="myFunction()">Click me</button>
    <p id="demo"></p>
    <script>
        var link = "https://source.unsplash.com/all/?";
        var articleTitle = <?php echo "'" . $article->title . "'"; ?>;
        function myFunction() {
            var d = new Date();
            var c = link + articleTitle + "&" + d.getTime();
            document.getElementById("demo").innerHTML = "<img src=" + c + " height='100' width='100'/>";
        }

    </script>
</div>

点击我

变量链接=”https://source.unsplash.com/all/?";
var articleTitle=重新评估您的问题,它似乎更像是一个缓存问题。我仍然会把我以前的答案贴在网上,因为这可能会对其他人有所帮助。如下图所示,尝试向url添加时间戳,这将为您获得一个新图像:

<div class="form-group">
    <button onclick="myFunction()">Click me</button>
    <p id="demo"></p>
    <script>
        var link = "https://source.unsplash.com/all/?";
        var articleTitle = <?php echo "'" . $article->title . "'"; ?>;
        function myFunction() {
            var d = new Date();
            var c = link + articleTitle + "&" + d.getTime();
            document.getElementById("demo").innerHTML = "<img src=" + c + " height='100' width='100'/>";
        }

    </script>
</div>

点击我

变量链接=”https://source.unsplash.com/all/?";

var articletTitle=按照函数的工作方式,无法更改图像。img的src属性仅取决于您的php。
$article->title
值。而且,由于您没有显示代码的这一部分,我假设您就是这一页。只是刷新它,将不起作用。此值“$article->title”是我的关键字(我文章的标题)。每次我收到与apple关联的新图像时发送此请求“”。与我希望在代码中执行的操作相同。每次我点击我的按钮时,我想要一个没有页面刷新的新图像(因为当我刷新我的页面并再次点击该按钮时,我真的会得到一个新图像)。是的,你可以……但前提是你愿意停止在javascript.com中使用PHP。我在这里做了一些测试,它确实没有改变图像。但是如果你把变量改成另一个词,加载,然后再改变它,它会改变(。。。。他们的API中一定有你想要实现的东西。如果这个问题没有解决,我会稍后再检查。按照您的函数工作方式,您不能更改图像。img的src属性仅取决于您的php。
$article->title
值。而且,由于您没有显示代码的这一部分,我假设您就是这一页。只是刷新它,将不起作用。此值“$article->title”是我的关键字(我文章的标题)。每次我收到与apple关联的新图像时发送此请求“”。与我希望在代码中执行的操作相同。每次我点击我的按钮时,我想要一个没有页面刷新的新图像(因为当我刷新我的页面并再次点击该按钮时,我真的会得到一个新图像)。是的,你可以……但前提是你愿意停止在javascript.com中使用PHP。我在这里做了一些测试,它确实没有改变图像。但是如果你把变量改成另一个词,加载,然后再改变它,它会改变(。。。。他们的API中一定有你想要实现的东西。如果这个问题没有解决,我会稍后再检查。@AndrewLoser您的
$articleList
索引如何?我只有包含所有对象的
$article
。也许我不理解你,因为我是新手,但当我做这个动作时,我得到的结果是:{“id”:12,“user\u id”:1,“title”:“Apple”,“body”:“dasdadsdsa”,“published\u at::“2015-12-07 00:00:00”,“created\u at:”2015-12-07 15:24:22”,“updated\u:”2015-12-07 15:28:34”,“摘录”:null}
…@AndrewLoser请查看我的其他answer@AndrewLoser您的
$articleList
是如何编制索引的?我只有
$article
包含所有对象。也许我不理解你,因为我是新手,但当我做这个动作时,我得到的结果是:{“id”:12,“user\u id”:1,“title”:“Apple”,“body”:“dasdadsdsa”,“published\u at::“2015-12-07 00:00:00”,“created\u at:”2015-12-07 15:24:22”,“updated\u:”2015-12-07 15:28:34”,“摘录”:null}
..@AndrewLoser请查看我的其他回答,因为值
$c
包括我的URL,如
https://source.unsplash.com/all/?apple/
,这部分代码
$link.$article->title+“&”+date('ymdmis')
破坏了我的请求,因此“我们找不到那张照片”。。(@AndrewLoser编辑了我的答案。这一个应该很有用。最后它给了我一个图像,但再次点击我的按钮并不会改变图像。我也理解这个值
date('ymdmis'))
应该每次更改,但它是常量。现在,日期的值每次都会更改,但图像仍然是常量。如果您将此更改为:
var c=link+articletTitle+“#”+d.getTime();
改为:
var c=link+articletTitle+”[+d.getTime()+“]”;
$c
包括我的URL,如
https://source.unsplash.com/all/?apple/
,这部分代码
$link.$article->title+“&”+date('ymdmis')
破坏了我的请求和