Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置背景色+;js中除按钮外的不透明度_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 设置背景色+;js中除按钮外的不透明度

Javascript 设置背景色+;js中除按钮外的不透明度,javascript,jquery,html,css,Javascript,Jquery,Html,Css,当某些事情发生时,我将body背景色设置为灰色,并降低不透明度。然而,这显然也改变了按钮的不透明度 我想要实现的是,当动作发生时,改变除按钮之外的所有对象的不透明度 var highlight = $('#' + scroll).closest('div').find('button'); $('body').css('opacity', '0.2'); $('body').css('background-color', 'grey'); $(highlight).css('background

当某些事情发生时,我将body
背景色设置为灰色,并降低
不透明度
。然而,这显然也改变了按钮的不透明度

我想要实现的是,当动作发生时,改变除按钮之外的所有对象的不透明度

var highlight = $('#' + scroll).closest('div').find('button');
$('body').css('opacity', '0.2');
$('body').css('background-color', 'grey');
$(highlight).css('background-color', '#FDFF47');
$(highlight).css('opacity', '1');

如何做到这一点?

背景色中
使用
rgba()
仅降低背景的不透明度<代码>不透明度
属性不需要

$('body').css('background-color', 'rgba(128, 128, 128, 0.5)');

关于rgba(R、G、B、A)-

您可以使用alpha值设置背景色,而不是设置不透明度:

$('body').css('background-color', 'rgba(192,192,192,0.2)');

当您试图使用
opacity
设置
background
时,请使用
rgba
,它代表红色、蓝色、绿色以及不透明度(Alpha),您可以将最后一个参数作为不透明度传递。使用
背景:rgba(0,0,0,0.2)
而不是设置
背景颜色:灰色
。检查下面的代码段以供参考

div{
背景色:rgba(0,0,0,0.2);
填充:50px;
}
p{
颜色:蓝色;
}

我的文字


试试这个
jquery代码

$(文档).ready(函数(){
$(“#btn”).hover(函数(){
$(“#btn”).css(‘背景色’、‘灰色’);
$(“#btn”).css('opacity','0.5');
});
});
#btn{
边界:无;
填充:10px;
}


测试
当你对你的问题写评论时,如果你正在寻找“倾听url更改”,我建议你看看

相反,如果您要在该div位于HTML页面顶部时查找执行代码,请尝试以下操作:

$(document).on('scroll', function(){
    if($('your_div').offset() == 0){
        //do stuff when your_div is on top of the page
    }
})
这段代码监听页面滚动,当div从页面顶部的偏移量为0px时,它将执行if语句中的代码


编辑
如果您这样做
$(body.css('opacity','0.2')
,您将为body中的所有对象(特别是所有
的子对象)设置不透明度。要仅为某些元素设置不透明度,您必须做一些棘手的事情:您必须使用一个div将这些元素包装为具有相同类的所有元素,然后为该类设置不透明度


也就是说:假设你用一个div来包装这个元素,这个div的类是
opacity
,如果你使用
$('.opacity').css('opacity','0.2')
,那么只有那些div中的元素才会将opacity设置为0.2。

你是指HTML页面中的一个特定操作还是一个常规操作?它基本上是滚动到一个div,当在url中传递query=?scroll=value时,value是div的id,它将滚动到所有这些答案都不是我希望它做的,在body上设置rgba值,但它并没有变暗以使按钮和页面的其余部分变亮darker@PrzemyslawWojtas我怀疑你得到的答案都是一样的,因为这个问题是以一种能够产生答案的方式提出的。我可能会重新表述这个问题,并展示一些html,解释您希望对每个元素产生的效果。我认为这并不难。将车身背景设置为灰色,按钮除外。正文当然是一个完整的页面,但我想突出显示一个特定的按钮,给用户一个提示“点击这里”我有这个工作,在我的问题中,我问如何设置正文的背景色而不使按钮生效,所以设置背景色:随便;但不适合巴顿