jquery - 将随机选择的先前图像转为灰度

标签 jquery css

我有 16 张灰度图像,我需要它们随机选择并将它们制作成彩色图像。就像下面的代码我正在这样做。

setInterval(function(){

    var i = Math.floor(Math.random() * 16) + 1;
    $(".pnfitem-" + i).css('filter', "grayscale(0%)");
    $(".pnfitem-" + i).css('-webkit-filter', "grayscale(0%)");

},3000);

这也很好用,但是现在我需要在下一张图像变成彩色图像时给上一张图像添加灰度。虽然这些是随机选择的,但我怎样才能选择上一张图像并将其变回灰色-缩放图像

最佳答案

setInterval(function(){

    var i = Math.floor(Math.random() * 16);
    $(".pnfitem").removeClass("noGray").eq(i).addClass("noGray");
    
}, 1000);
.pnfitem{
  filter: grayscale(100%);
  transition: 0.8s;
}
.noGray{
  filter: grayscale(0%);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<img class="pnfitem" src="//placehold.it/40x40/0bf">
<img class="pnfitem" src="//placehold.it/40x40/0bf">
<img class="pnfitem" src="//placehold.it/40x40/0bf">
<img class="pnfitem" src="//placehold.it/40x40/0bf">
<img class="pnfitem" src="//placehold.it/40x40/0bf">
<img class="pnfitem" src="//placehold.it/40x40/0bf">
<img class="pnfitem" src="//placehold.it/40x40/0bf">
<img class="pnfitem" src="//placehold.it/40x40/0bf">
<img class="pnfitem" src="//placehold.it/40x40/0bf">
<img class="pnfitem" src="//placehold.it/40x40/0bf">
<img class="pnfitem" src="//placehold.it/40x40/0bf">
<img class="pnfitem" src="//placehold.it/40x40/0bf">
<img class="pnfitem" src="//placehold.it/40x40/0bf">
<img class="pnfitem" src="//placehold.it/40x40/0bf">
<img class="pnfitem" src="//placehold.it/40x40/0bf">
<img class="pnfitem" src="//placehold.it/40x40/0bf">

关于jquery - 将随机选择的先前图像转为灰度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44474075/

相关文章:

jquery - 请求 jquery.min.map 文件的引用 404 错误

javascript - 使用 jQuery show() 显示 div - 禁用 JS 会发生什么?

jquery - 复合 JQuery 选择器

javascript - 使用 JavaScript 读取 html/body 标签 margin-top

jquery - 为不同的窗口大小调整 div 和按钮的大小

javascript - 淡入与CSS?

jquery - 如何让一个元素始终占据其父元素的特定百分比,即使在调整浏览器大小时也是如此?

javascript - Bootstrap 在 foreach 循环中崩溃

css - 使 ReactStrap/Bootstrap4 卡片在不同的列中具有相同的高度

CSS Font Face 在 Firefox 或 IE8 中不起作用