首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery如何从变量中选择值

jQuery如何从变量中选择值
EN

Stack Overflow用户
提问于 2014-03-18 21:56:18
回答 2查看 224关注 0票数 1

如果我的变量中有~15个值(例如图像),那么是否可以通过单击将该变量的第一个值输出到div中?如果我再次单击,从该变量中选择第二个值?我似乎找不到关于这件事的任何东西。

代码语言:javascript
复制
var images = [
  'dali.jpg',
  'illusionisme.png',
  'impresionisme.jpg',
  'popart.jpg',
  'abstracter.jpg',
]

单击,但这会将所有变量放入.art div中。

代码语言:javascript
复制
$(".art").click(function(){
  $(".art").each(function(){
    $(this).find("img").remove();
    $(this).prepend('<img src="assets/images/' + images + '">');
  });
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-18 21:58:41

有很多方法可以做到这一点。但你可以试试这个

代码语言:javascript
复制
var index = 0;
    $(".art").click(function(){
        $(".art").each(function(){
            $(this).find("img").remove();
            $(this).prepend('<img src="assets/images/' + images[index] + '">');
        });
                    index++;
    });

这段代码要做的是,它将从0开始,这是数组中的第一项。然后,每次单击时,它都会将您的图像名称放在image属性中,并增加index,以便下一次单击它时,它将加载下一个文件。

如果希望图像在最后一个图像之后旋转,那么将index++;替换为以下代码:

代码语言:javascript
复制
if(index < images.length-1 ){
            index++;
        }
        else{
            index = 0;
        }
票数 4
EN

Stack Overflow用户

发布于 2014-03-18 22:01:22

与其删除和重新追加img只需更改它的属性

演示

代码语言:javascript
复制
var images = [/*...*/];
var n = images.length;
var i = 0;
$(".art").click(function(){
    $('img', this)[0].src = "assets/images/"+ images[++i%n] ;
});

由于有了提醒操作符%,您可以无限循环您的图像数组

如果您想要将图像更改为每个.art 元素,那么您可以这样做:

演示

代码语言:javascript
复制
var images = [/*...*/];
var n = images.length;
var i = 0;                   // Index counter
var $art = $('.art');        // Cache your elements!

$art.click(function(){
  ++i;                       // Pre-increment our counter (once) on click.
  $art.each(function(idx){   // Get element's index into idx
    $('img', this)[0].src = images[(i+idx) % n] ; // Change src and loop
  });
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22491862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档