javascript - 单击时定位数组中的项目?

标签 javascript jquery arrays

请记住,我是 javascript/jquery/stackoverflow 新手。我有一组 JQuery 对象(每个对象都是一张图像)。现在我为数组中的每个项目都有一个单独的函数:

var $photos = [];
$photos.push($('img.one'), $('img.two'), $('img.three'), $('img.four'), $('img.five'),              $('img.six'));
$('.thumbnails img.two').click(function(){
    $('div#slide-container').fadeIn('fast');
    setTimeout(function(){
    $('div#slideshow').slideDown('fast');}, 200);
    setTimeout(function(){
    images[1].fadeIn('fast');}, 500);
});

换句话说,我对数组中的 5 个索引中的每一个都有上述代码。我该如何编写此代码,以便我可以仅使用一个函数而不是六个函数来定位单击的任何照片?因此,我可以直接说“images[i]”,而不是具体的“images[1]”。

这里有一个实时版本的链接:

http://www.noticeeverything.com/photos/

最佳答案

$('.thumbnails img').click(function(){
    var $this = $(this);
    $('div#slide-container').fadeIn('fast');
    setTimeout(function(){
    $('div#slideshow').slideDown('fast');}, 200);
    setTimeout(function(){
    $this.fadeIn('fast');}, 500); });

我认为你可以使用回调代替 setTimeout

$('.thumbnails img').click(function(){
    var $this = $(this);
    $('div#slide-container').fadeIn('fast', function(){
        $('div#slideshow').slideDown('fast', function(){
            $this.fadeIn('fast');
        });
    });
});

关于javascript - 单击时定位数组中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20808765/

相关文章:

Javascript 样式赋值仅适用于 Opera(但不适用于 Firefox 或 IE8)

javascript - a 的第二个和第三个操作数可以吗? : expression be statements?

jquery - 将命令行应用程序移植到 Sinatra/Ruby on Rails 应用程序

php - 如何在循环laravel中获取产品关系数组

arrays - PowerShell:将十六进制变量转换为单个(float32)大端变量

javascript - 如何停止与 canvas imageData 的 alpha 预乘?

javascript - 带输入框的jqGrid不可点击

jquery - 使用 JQuery 获取 Dropdown 选定值

javascript - 获取数组项附近的对象

javascript - Stripe 未收到 Firebase 充电功能