首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >切换不透明度更改为复选框图像

切换不透明度更改为复选框图像
EN

Stack Overflow用户
提问于 2013-11-10 10:57:59
回答 2查看 3.4K关注 0票数 1

一旦选中复选框并将默认不透明度设置为0.5 (半不透明度),我希望将复选框图像的不透明度更改为1.0 (正常不透明度)。但我对JavaScript和CSS中的编码一无所知。

代码语言:javascript
复制
<input type="checkbox" id="n1" name="n1" style="display: none;" /><label for="n1"><img src="images/n1.png" width="20" height="20" /></label>
<input type="checkbox" id="n2" name="n2" style="display: none;" /><label for="n2"><img src="images/n2.png" width="20" height="20" /></label>

...

<input type="checkbox" id="n50" name="n50" style="display: none;" /><label for="n2"><img src="images/n50.png" width="20" height="20" /></label>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-10 11:10:42

下面是一种使用不使用JS的方法,只使用CSS:

代码语言:javascript
复制
label img {
    opacity : 0.5;
}
input[type=checkbox]:checked + label img {
    opacity : 1;
}

演示:http://jsfiddle.net/W2hHg/

注意,它使用+,因此它依赖于紧跟在相应复选框元素之后的label元素。

但是,如果您想支持没有实现IE<=8的 selector,我仍然建议定义上面的label img类来设置默认的不透明度,然后在选中时定义以下类:

代码语言:javascript
复制
label.checked img {
    opacity : 1;
}

然后,...and使用JS添加和删除该类:

代码语言:javascript
复制
document.onclick = function(e) {
    if (!e) e = window.event;
    var el = e.target || e.srcElement;
    if (el.type === "checkbox") {
        if (el.checked)
            el.nextSibling.className += " checked";
        else
            el.nextSibling.className = el.nextSibling.className.replace(/\bchecked\b/,"");
    }
};

演示:http://jsfiddle.net/W2hHg/2/

票数 1
EN

Stack Overflow用户

发布于 2013-11-10 11:12:41

你能试试这个吗

代码语言:javascript
复制
 $(document).ready(function(e) {
    $('input:checkbox').click(function(){    

     var ImgId = 'img_'+$(this).attr('id');              
       if( $(this).is(':checked')) {
           $("#"+ImgId).css('opacity', '0.5');
         } else {
            $("#"+ImgId).css('opacity', '1');
          }             


        });//end click
 });//end ready

HTML:

代码语言:javascript
复制
    <input type="checkbox" id="n1" name="n1"  /><label for="n1"><img src="images/n1.png" width="20" height="20" id='img_n1' /></label>
    <input type="checkbox" id="n2" name="n2" /><label for="n2"><img src="images/n2.png" width="20" height="20"  id='img_n2'/></label>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19888904

复制
相关文章

相似问题

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