Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.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 Jquery按钮多次替换图像_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript Jquery按钮多次替换图像

Javascript Jquery按钮多次替换图像,javascript,jquery,html,css,Javascript,Jquery,Html,Css,标题可能措词不当,我来解释一下我的意思 我有三个按钮,我想根据它们按下的内容替换div的图像。例如,第一个图像是森林。一个按钮将对应于进一步进入的选择,以便按钮用另一个按钮替换该图像。一个按钮会让你拿起东西/去另一个地方,后一个选项会用另一个替换当前图像,最后一个按钮会让你发痒 让一个按钮替换一个图像并不是什么大不了的事,但是如果你想在按下一个按钮后用新的图像替换这些图像,我不知道你该怎么做 只需像下面那样更改css背景图像:url。当你点击id为(id#grass)的按钮时,它基本上改变了页面

标题可能措词不当,我来解释一下我的意思

我有三个按钮,我想根据它们按下的内容替换div的图像。例如,第一个图像是森林。一个按钮将对应于进一步进入的选择,以便按钮用另一个按钮替换该图像。一个按钮会让你拿起东西/去另一个地方,后一个选项会用另一个替换当前图像,最后一个按钮会让你发痒


让一个按钮替换一个图像并不是什么大不了的事,但是如果你想在按下一个按钮后用新的图像替换这些图像,我不知道你该怎么做

只需像下面那样更改css背景图像:url。当你点击id为(id#grass)的按钮时,它基本上改变了页面中心部分的背景图像(例如grass.jpg的url)。 我把图片的名字和Id都改了,只是为了让它更容易理解。 希望能有帮助

$('#grass').click(function(){
  $('.central').css('background-image', 'url("img/grass.jpg")');
});
$('#flower').click(function(){
  $('.central').css('background-image', 'url("img/flower.jpg")');
});
$('#forest').click(function(){
  $('.central').css('background-image', 'url("img/forest.jpg")');
});

我不确定是否完全理解你的问题。假设您要在图像列表上迭代:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>

        <div id="imageDisplay"></div>

        <button id="previous" type="button" onclick="displayPrevious()" >previous</button>
        <button id="next" type="button" onclick="displayNext()" >next</button>

        <script>

            var imagesList = ['banana.png',
                              'apple.png',
                              'orange.png'];

            var currentIndex = 0;

            function displayPrevious() {
                if(currentIndex > 0) {
                    currentIndex--;
                    setBackGroundImage(imagesList[currentIndex]);
                }
            }


            function displayNext() {
                if(currentIndex < imagesList.length) {
                    currentIndex++;
                    setBackGroundImage(imagesList[currentIndex]);
                }
            }


            function setBackGroundImage(imageName) {
                var imageDisplayDiv = document.getElementById('imageDisplay');
                imageDisplayDiv.style.backgroundImage = "url('img/"+imageName+"')";
            }

        </script>

    </body>
</html>

以前的
下一个
var imagesList=['banana.png',
“apple.png”,
“orange.png”];
var currentIndex=0;
函数displayPrevious(){
如果(当前索引>0){
当前索引--;
setBackGroundImage(imagesList[currentIndex]);
}
}
函数displayNext(){
if(当前索引<图像列表长度){
currentIndex++;
setBackGroundImage(imagesList[currentIndex]);
}
}
函数setBackGroundImage(imageName){
var imageDisplayDiv=document.getElementById('imageDisplay');
imageDisplayDiv.style.backgroundImage=“url('img/“+imageName+”)”;
}

尝试使用图像传送带。。。网上有很多例子。。。这里有一个->是的,实际上这是个好主意。但假设我们在第一张图片上。第一个按钮带我们到grass.jpg,第二个按钮带我们到flower.jpg,第三个按钮带我们到forest.jpg。假设我按下forest.jpg,如何使按钮具有新选项?他们还会有grass.jpg、flower.jpg和forest.jpg作为选项吗?我一直在读你的问题,但我没有得到你真正需要的。你能发布一些代码或东西来帮助我们更好地理解它吗。基本上,我有一个div,其中有一个图像,在这个div下面有三个按钮。每个按钮都会加载另一个图像。例如,当您加载站点时,第一个按钮将加载一张图片,第二个按钮将加载另一张图片,第三个按钮将加载第三张图片。我不确定该怎么做的是,一旦我按下其中一个按钮,按钮将有新的选择。如果我按下按钮1,按钮1仍会将图像替换为图像1,按钮2替换为图像2,按钮3替换为图像3。