2016-10-15 31 views
-1

我正在使用名爲Youtube Video Ratings Bar with Power Meter的Greasemonkey腳本,它在YouTube上的每個視頻下放置一個欄,顯示它的評分,喜歡,不喜歡等。這非常有用,但我想更進一步。兒童/內部元件:jQuery:隱藏.parent如果孩子有HTML數值範圍樣式值?

<div class="powerBar" style="width: 26.1181%;"></div> 

正如你所看到的,子元素類=「能量棒」,是一個視頻的普及的主要決定功能。它具有一個style =「width:26.1181%」屬性,該條位於每個視頻的隨機數字百分比值。我很好奇如何隱藏父元素(如果內部類/子元素.powerBar),其樣式寬度小於75%。父元素:

<li class="yt-shelf-grid-item"> 

現在,我以前曾問過一個關於有點相似性的問題。如果我所要求的previous question的代碼可以使用,那將是最棒的。謝謝你抽出時間抽出時間。


工作版本:https://stackoverflow.com/revisions/40065508/3

回答

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腳本異步加載評級信息。

+0

IM與它玩,但沒有運氣還沒有得到它的工作。 – computerguy

+0

'element [0]'應該是'element',因爲'powerbar'是一個HTML元素。在'if'之後,'powerbar'應該是'$(powerbar)',出於與上述相同的原因。 –

+0

如果需要,請嘗試使用greasemonkey的youtube評分欄腳本,目標是徹底隱藏訂閱標籤或家中列出的視頻。 https://greasyfork.org/zh/scripts/2302-youtube-video-ratings-bar-with-power-meter – computerguy

0

不管等級如何,每個電源條的寬度是否相同?我不確定,想知道實際寬度是否可能因不同的評級而改變。

酒吧本身不包含在父元素中嗎?這是有道理的。如果沒有,那麼它應該是很簡單的工作出你的寬度的70%:

var powerBarWidth = parseInt($(".powerBar").css("width").replace('px', '')); 
var powerBarPercentage = ((powerBarWidth/100) * 70); 
+0

沒有電源欄是在每個視頻上,並在每個視頻不同,數學計算像,不喜歡,觀點等,如果你想要的話,可以自己試試劇本。 – computerguy

+0

這只是一個奇怪的問題,你想檢查一個值是否是它本身的70%,也許powerbar是父母中的一個元素 - 它是寬度的變化以反映什麼級別或評級 - 如果是這種情況,它是父母的寬度這個元素很重要。我只是想弄明白,對不起。 –

+0

。powerbar是一個子元素,在我命名的父級內,如果寬度百分比樣式小於X.X%,則隱藏父級。 – computerguy