第一部分是点击图片。该图像和该图像之前的图像的不透明度为1.其余图像保持不透明度为0.1。
第二部分是指您点击“点击一下”。它重复整体。但是具有不透明度0.1的图像应该是黑白的,它们应该是不可点击的。
我的问题:如何更改ul中某些li的CSS?在这种情况下,不透明度为0.1的li必须变成黑色和白色。我只能改变所有的李。如何禁用黑白图像,以便它们不再可点击?
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>
<ul id="people2"></ul>
<ul id="people3"></ul>
<div id="click1">click one</div>
<div id="click2">click two</div>
JQUERY
$( document ).ready(function() {
$('ul li img').transition({
opacity: 0.1,
delay: 500
}).on('click', function () {
$(this).closest("ul").find("img").transition({ opacity: 0.1, delay: 500 });
$(this).closest('li').prevUntil().addBack().find('img').css('opacity', '1');
});
$('#click1').on('click', function(){
$('ul#people').clone(true).appendTo('ul#people2');
**$('ul#people2 li img').css('opacity', '0');**
$(this).off('click');
});
$('#click2').on('click', function(){
$('ul#people2').clone(true).appendTo('ul#people3');
$(this).off('click');
});
});
答案 0 :(得分:1)
我刚刚创建了Fiddle并进行了以下调整:
$('#click1').on('click', function(){
$('ul#people').clone(true).appendTo('ul#people2');
$("ul#people2 li img[style^='opacity: 0']").addClass('blackWhite').off("click");
});
<强> CSS:强>
.blackWhite{
filter: grayscale(100%);
filter: url(#greyscale);
filter: gray;
-webkit-filter: grayscale(1);
}
对于这种黑白效果,我刚刚使用了从这里采取的方法:http://demosthenes.info/blog/532/Convert-Images-To-Black-And-White-With-CSS 并将一个SVG图像添加到HTML。可能有更好的解决方案,但仅作为示例。
我还添加了完整的transition.js - https://github.com/peteboere/jquery-transition/blob/master/jquery.transition.js - 您似乎在小提琴的js-panel开头使用,因为我没有找到包含的在线资源它作为外部资源。您调整后的代码位于评论/* stack code start */