我正在使用名为 Youtube Video Ratings Bar with Power Meter 的Greasemonkey脚本,它会在YouTube上的每个视频下方放置一个条形图,显示它的评分,喜欢,不喜欢等等。这是非常有用,但我想更进一步。儿童/内在元素:
<div class="powerBar" style="width: 26.1181%;"></div>
如您所见,子元素 class =&#34; powerBar&#34; 是视频流行度的主要决定因素。它有一个 style =&#34; width:26.1181%&#34; 属性,这是该栏所在的每个视频的随机数字百分比值。如果内部类/子 .powerBar 的样式宽度小于75%,我很好奇如何隐藏父元素。父元素:
<li class="yt-shelf-grid-item">
现在,我之前曾问过一个有点相似的问题。如果可以使用我提出的 previous question 代码,那将是最棒的。感谢您抽出时间。
答案 0 :(得分:0)
这应该做你想要的:
// ==UserScript==
// @name youtube hide powerbar
// @namespace hides videos with low popularity
// @include *www.youtube.com*
// @version 1
// @grant none
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
// ==/UserScript==
setInterval(function() {
function getWidthPercent(element) {
return parseFloat(element.style.width) || 0;
}
$(".likesBar").each(function() {
if (getWidthPercent(this) < 88) $(this).closest(".video-list-item").css( "opacity", "0.1" );
});
}, 2000);
// requires https://greasyfork.org/en/scripts/2302-youtube-video-ratings-bar-with-power-meter
间隔是定期检查DOM更新,例如,当使用渐进式视频加载功能或由于其他Greasemonkey脚本异步加载评级信息时。
答案 1 :(得分:0)
无论额定值如何,每个电源条的宽度是否相同?我不确定,想知道不同评级的实际宽度是否会发生变化。
条形本身不包含在父元素中吗?这是有道理的。如果没有,那么它应该足够简单,以确定宽度的70%:
var powerBarWidth = parseInt($(".powerBar").css("width").replace('px', ''));
var powerBarPercentage = ((powerBarWidth / 100) * 70);