javascript - 更改数组内项目的透明度

标签 javascript jquery arrays jquery-ui jquery-transit

我想要做的是改变jpg的透明度。我已将 ul li img 放入数组中。

enter image description here

当我单击图像时,我可以在控制台中看到所单击图像在数组内的位置。

enter image description here

现在,当我单击图像时,我想更改该图像的透明度以及单击图像之前的图像的透明度。

例如:当我单击位于数组内 4 的图像时。我希望数组内的项目 0、1、2、3 和 4 的透明度设置为 1。如何访问数组中被单击项目的 css?

HTML

<ul id="people">
    <li><img src="person.jpg" alt="person" id="img1"></li>
    <li><img src="person.jpg" alt="person" id="img2"></li>
    <li><img src="person.jpg" alt="person" id="img3"></li>
    <li><img src="person.jpg" alt="person" id="img4"></li>
    <li><img src="person.jpg" alt="person" id="img5"></li>
    <li><img src="person.jpg" alt="person" id="img6"></li>
    <li><img src="person.jpg" alt="person" id="img7"></li>
    <li><img src="person.jpg" alt="person" id="img8"></li>
    <li><img src="person.jpg" alt="person" id="img9"></li>
    <li><img src="person.jpg" alt="person" id="img10"></li>
</ul>

CSS

ul li {
    display: inline-block;
    text-decoration: none;
    list-style-type: none;
}

img{
    width: 90px;
    opacity: 1;
}

JS

$( document ).ready(function() {
    $('ul').transition({ opacity: 0.1, delay: 500 });

    jQuery(function(){
        var peopleArray = [];

        $('#people li img').each(function(){
            peopleArray.push(this);
        })
        console.log(peopleArray);

        $('ul li img').click(function() {
            console.log(($('ul li img').index(this)));
        });
    });

图书馆

我正在使用 jquery-transit:

http://ricostacruz.com/jquery.transit/

最佳答案

试试这个

$('#people li img').on("click",function() { 
  // you likely also want to reset
  $(this).closest("ul")
    .find("img").transition({ opacity: 0.1, delay: 500 });
  $(this).closest("li").prevUntil().andSelf()
    .find("img").transition({ opacity: 1, delay: 500 }); 
});

您可能希望在回调中放置一个,以免出现闪烁更新

关于javascript - 更改数组内项目的透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27669345/

相关文章:

arrays - 通过字符串分隔符将字符串数组分隔成字符串数组

c++ - 有没有一种递归的方法来制作这个字符串数组?

javascript - jQuery when() 似乎不适用于each()

javascript - 当我单击时,通过 on 的单击事件会一次又一次附加单击事件

javascript - Next.js 上的 MathJax

Jquery - 使用 find() 获取元素的 ID

c++ - 如何从枚举模板参数推断数组大小?

javascript - xmlHttpRequest readyState 停留在 1

javascript - 如何访问img

javascript - 我可以在同一页面上使用多个版本的 jQuery 吗?