这是我用来更改DOM元素的alpha颜色的函数。
function RGBA(e, alpha) { //e = jQuery element, alpha = background-opacity
b = e.css('backgroundColor');
e.css('backgroundColor', 'rgba' + b.slice(b.indexOf('('), ( (b.match(/,/g).length == 2) ? -1 : b.lastIndexOf(',') - b.length) ) + ', '+alpha+')');
}
我在这里找到了这个函数。使用RGBa更改div的背景不透明度。
我使用的是wordpress,因此我希望这个函数在某个html类的循环中获取每个div。
现在这个函数工作得很好,但它改变了第一个类别的alpha颜色,并在所有类别中循环该颜色。如果你需要更多的细节,那么:我有一个wordpress插件,它为类别分配背景颜色属性,然后在实时网站上输出。
我的代码看起来像这样:
<p class="x" style="background-color: <?php echo $rl_category_color; ?></p>
<?php foreach((get_the_category()) as $category) { echo $category->cat_name . ' '; }
现在我在下面的函数中针对x类
RGBA(jQuery('.x'), 0.2);
如果这对你有帮助,那么在这里你可以看到我的处境。
问题是,它获取第一个类别的颜色,并将其分配给每个具有x类的p(我认为它应该遍历每一个元素并单独输出,或者它应该根据p元素的完整类名来定位p元素,我添加了wordpress-post-id函数,通过向每个x类元素添加post-id来使每个类都是唯一的,这样每个被其完整类名捕获的x类元素都会不同,但这只是我的想法)。
所以我的目标是在下面的图片,这只是设计的一部分,为什么我想让它不透明。
很抱歉,如果我违反了提问规则,我不是这些语言的专家。
我应该做的是:
$(".x").each(function() {
RGBA($(this), 0.2);
}