【问题标题】:Change and cycle through images onclick in Javascript在 Javascript 中更改和循环通过图像 onclick
【发布时间】:2015-04-18 20:55:23
【问题描述】:

我只是想循环浏览我的所有图像,然后通过 onclick 函数最后什么都不做。但是我遇到了麻烦。任何建议都会很棒。

<SCRIPT>

var quizImagesB = new Array(); 

 quizImagesB[0]="images/dratiniB.png"
 quizImagesB[1]="images/parasB.png"
 quizImagesB[2]="images/mewB.png"
 quizImagesB[3]="images/doduoB.png"
 quizImagesB[4]="images/meowthB.png"
 quizImagesB[5]="images/cloysterB.png"
 quizImagesB[6]="images/ponytaB.png"
 quizImagesB[7]="images/articunoB.png"
 quizImagesB[8]="images/flareonB.png"

function updateImgB(){
for(var i=0; quizImagesB<.length; i++){
var url = 'url(' + quizImagesB[i] + ')';    //alters css
document.getElementById('pkmnImg').style.backgroundImage=url;
 }
}

</SCRIPT>

<style type="text/css">
#pkmnImg
{
background-image: url(images/charmanderB.png);
background-repeat: no-repeat;
text-align: center;
width: 400px;
height: 450px;
margin-top: 10px;
margin-left: 15px;
}</style>

<FORM>
 <INPUT TYPE="Button" VALUE="Change the image source" onClick="updateImgB();">
</FORM>

<div id ="pkmnImg"></div>

【问题讨论】:

  • 嘿,亚历克斯,至少对我来说,你想要的结果不是很清楚。你到底想用这些图片做什么?
  • 是不是每次点击都希望页面显示如下图片?
  • 感谢您的回复。用简单的英语我希望发生以下情况 img1> click > img2> *click*>img ....

标签: javascript arrays image onclick cycle


【解决方案1】:

好的,这应该可以。而不是循环遍历数组,您希望在每次单击时将 i 的值增加 1,从而允许您以这种方式循环遍历数组 - 参见 jsfiddle - https://jsfiddle.net/ffd7tmwy/1/

Javascript:

    var quizImagesB = new Array(); 

     quizImagesB[0]="images/dratiniB.png"
     quizImagesB[1]="images/parasB.png"
     quizImagesB[2]="images/mewB.png"
     quizImagesB[3]="images/doduoB.png"
     quizImagesB[4]="images/meowthB.png"
     quizImagesB[5]="images/cloysterB.png"
     quizImagesB[6]="images/ponytaB.png"
     quizImagesB[7]="images/articunoB.png"
     quizImagesB[8]="images/flareonB.png"

     var i = 0
     function updateImgB(){
        var i = i + 1;
        var url = 'url(' + quizImagesB[i] + ')';
        document.getElementById('pkmnImg').style.backgroundImage=url;
      }

HTML

<div id='pkmnImg'></div>
<form>
    <input type="button" value="Change the image source" onClick="updateImgB()">
</form>

【讨论】:

  • 它是否为您过滤图像?它对我有用,但是当我尝试在 jsfiddle 上进行操作时,它不起作用。您可以检查您的控制台并尝试使用 console.log(i) 来检查点击时该值是否增加?
  • 啊,我让 jsfiddle 工作了,见上文。原谅布雷特杀手哈特图片
  • 这就是你想要做的吗?
  • 没有问题,我的荣幸
猜你喜欢
  • 1970-01-01
  • 2013-11-12
  • 2021-06-17
  • 2018-02-05
  • 2022-01-06
  • 2012-09-27
  • 1970-01-01
  • 2022-01-03
  • 1970-01-01
相关资源
最近更新 更多