jquery - 单击时打开和关闭 CSS 滤镜亮度

标签 jquery css onclick brightness css-filters

我正在设置一个带有按钮的页面,该按钮可以使页面的某些部分变暗。我修改了在这里找到的一些代码:http://www.jankoatwarpspeed.com/use-jquery-to-turn-off-the-lights-while-watching-videos/

但是我对 javascript/jQuery 很差,我不知道如何让它做我需要它做的事情。

这是脚本:

$(document).ready(function(){
    $("#shadow").css("height", $(document).height()).hide();
    $(".lightSwitcher").click(function(){
        $("#shadow").toggle();
        if ($("#shadow").is(":hidden"))
            $(this).removeClass("turnedOff");
        else
            $(this).addClass("turnedOff");
    });
}); 

这是一个jsfiddle:http://jsfiddle.net/e2b7dxa0/

我希望这样当点击灯开关时任何带有“shadow”id 的东西都会变暗。现在,具有该 id 的任何内容都将被隐藏,直到单击电灯开关为止,并且无论开关是否打开或关闭,我希望它都可见。我只想用开关来切换 CSS 中的亮度滤镜。

此外,jQuery 中的某些内容会导致高度扩展到页面的高度,我想将其删除。

最佳答案

将亮度滤镜放入单独的类中,并在单击按钮时将该类应用于 #shadow 对象。

$(document).ready(function() {
    $(".lightSwitcher").on('click', function() {
        $(this).toggleClass("turnedOff");
        $('#shadow').toggleClass('filter');
    });
});
.lightSwitcher {
    position:absolute;
    z-index:101;
    background-image:url(http://i.imgur.com/pyMBQnZ.png);
    background-repeat:no-repeat;
    background-position:left;
    outline:none;
    text-decoration:none;
    margin-left: 70%;
}
#lightswitch {
    height: auto;
}
.filter {
    -webkit-filter: brightness(50%);
    -moz-filter: brightness(50%);
    -o-filter: brightness(50%);
    -ms-filter: brightness(50%);
    filter: brightness(50%);
}
.turnedOff {
    color:#ffff00;
    background-image:url(http://i.imgur.com/nuKtnZZ.png);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="lightSwitcher"><img id="lightswitch" src="http://i.imgur.com/3nawaAf.png"></a>

<div id="shadow">
    <img src="https://placeimg.com/320/240/nature">
</div>

关于jquery - 单击时打开和关闭 CSS 滤镜亮度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32984628/

相关文章:

java - 从 ListView 中删除所选项目不起作用

php - 如何提取数据表中所选行的第一列?

php - 执行 php 文件 onClick

JavaScript 警报 onclick onchange if 语句

iOS Safari 选择禁用复制/定义/共享..链接

php - 大流量会导致CSS故障吗?

HTML:固定列+可变列相反

javascript - 双像 slider 组合

javascript - 当我删除添加行 javascript 中的行时,行计数无法正常工作

jquery - 引导多选 : How to change backgroung color if None selected