Bug 587991 - site menu background colors is wrong sometimes [r=mbrubeck]

This commit is contained in:
Vivien Nicolas 2010-08-17 19:02:30 +02:00
Родитель 391a1e5dea
Коммит 84b06aaf65
1 изменённых файлов: 9 добавлений и 6 удалений

Просмотреть файл

@ -1178,22 +1178,25 @@ var PageActions = {
_updateAttributes: function _updateAttributes() { _updateAttributes: function _updateAttributes() {
let container = document.getElementById("pageactions-container"); let container = document.getElementById("pageactions-container");
let visibleNodes = container.querySelectorAll("pageaction:not([hidden=true])"); let visibleNodes = container.querySelectorAll("pageaction:not([hidden=true])");
let len = visibleNodes.length; let visibleCount = visibleNodes.length;
let first = null, last = null; let first = null, last = null;
for (let i = 0; i < len; i++) { for (let i = 0; i < visibleCount; i++) {
let node = visibleNodes[i]; let node = visibleNodes[i];
node.removeAttribute("selector"); node.removeAttribute("selector");
// Note: CSS indexes start at one, so even/odd are swapped. // Note: CSS indexes start at one, so even/odd are swapped.
node.setAttribute("even", (i % 2) ? "true" : "false"); node.setAttribute("even", (i % 2) ? "true" : "false");
} }
if (len >= 1) {
if (visibleCount >= 1) {
visibleNodes[visibleCount - 1].setAttribute("selector", "last-child");
visibleNodes[0].setAttribute("selector", "first-child"); visibleNodes[0].setAttribute("selector", "first-child");
visibleNodes[len-1].setAttribute("selector", "last-child");
} }
if (len >= 2) {
if (visibleCount >= 2) {
visibleNodes[visibleCount - 2].setAttribute("selector", "second-last-child");
visibleNodes[0].setAttribute("selector", "first-child");
visibleNodes[1].setAttribute("selector", "second-child"); visibleNodes[1].setAttribute("selector", "second-child");
visibleNodes[len-2].setAttribute("selector", "second-last-child");
} }
} }
}; };