Pixelrat (обсуждение | вклад) |
Pixelrat (обсуждение | вклад) |
||
Строка 46: | Строка 46: | ||
var h = this_.querySelector(".morphlink_hilight"); | var h = this_.querySelector(".morphlink_hilight"); | ||
− | h = h ? h.getAttribute('style') : "color: | + | h = h ? h.getAttribute('style') : "color:#3b8eae; text-decoration:underline; cursor: pointer;"; |
var def = this_.querySelector(".morphlink_default"); | var def = this_.querySelector(".morphlink_default"); | ||
− | def = def ? def.getAttribute('style') : "color: | + | def = def ? def.getAttribute('style') : "color:#3b8eae; cursor: pointer;"; |
currentMorph[i] = {max: morphLs.length, curr: 0, hilight: h, defstyle: def, ms: isManualsort}; | currentMorph[i] = {max: morphLs.length, curr: 0, hilight: h, defstyle: def, ms: isManualsort}; | ||
Версия 14:11, 16 мая 2016
/** Morph LM Edition ***************************************************************************************************************************************************************************************** * * Description: слайдер скрытого контента * Stolen^W Made by: hikki-zadrot, Tachikoma, Anotubus */ function createMorphObjects() { var morphTargets = new Array(), morphLinks = new Array(), currentMorph = new Array(); function morphHandler(cont, num) { return function() { currentMorph[cont].curr = num; var t = morphTargets[cont]; var l = morphLinks[cont]; for(i in t) if(currentMorph[cont].ms != null) t[i].style.display = t[i].className.match(l[num].className.replace(/.*morphlink\s+morph(\S+).*/, '$1'))? "" : "none"; else t[i].style.display = i==num ? "" : "none"; var h = currentMorph[cont].hilight, d = currentMorph[cont].defstyle; for(i in l) l[i].setAttribute('style', (i!=num)?d:h); }; }; function morphNext(cont) { return function() { var t = currentMorph[cont]; morphHandler(cont, t.curr<(t.max-1)?t.curr+1:0)(); } } function morphPrev(cont) { return function() { var t = currentMorph[cont]; morphHandler(cont, t.curr>0?t.curr-1:t.max-1)(); } } var morphContainers = document.querySelectorAll(".morphcontainer"); for(var i = 0; i<morphContainers.length; i++) { var this_ = morphContainers[i]; morphTargets[i] = {}; morphLinks[i] = {}; var isHover = this_.className.match(/\bhover\b/); var isManualsort = this_.className.match(/\bmanualsort\b/); var morphCs = this_.querySelectorAll(".morphcontent"); var morphLs = this_.querySelectorAll(".morphlink"); var h = this_.querySelector(".morphlink_hilight"); h = h ? h.getAttribute('style') : "color:#3b8eae; text-decoration:underline; cursor: pointer;"; var def = this_.querySelector(".morphlink_default"); def = def ? def.getAttribute('style') : "color:#3b8eae; cursor: pointer;"; currentMorph[i] = {max: morphLs.length, curr: 0, hilight: h, defstyle: def, ms: isManualsort}; for(var m = 0; m<morphLs.length; m++) { morphLinks[i][m] = morphLs[m]; addHandler(morphLs[m], isHover?'mouseover':'click', morphHandler(i, m)); morphLs[m].setAttribute('style', m?def:h); }; for(var m = 0; m<morphCs.length; m++) { morphTargets[i][m] = morphCs[m]; if (isManualsort != null) morphCs[m].style.display = morphCs[m].className.match(morphLs[0].className.replace(/.*morphlink\s+morph(\S+).*/, '$1'))? "" : "none"; else morphCs[m].style.display = m ? "none" : ""; }; if (this_.querySelector(".morphprev")) this_.querySelector(".morphprev").addEventListener('click', morphPrev(i), false); if (this_.querySelector(".morphnext")) this_.querySelector(".morphnext").addEventListener('click', morphNext(i), false); } } addOnloadHook(createMorphObjects); /** Morph LM Edition **/