diff --git a/lib/scripts/script.js b/lib/scripts/script.js index 418d2f0697dba1e547f3965b46cf189755dfb25c..0d445ab5bb52c20395082ea25e3d11fcfe9cc30f 100644 --- a/lib/scripts/script.js +++ b/lib/scripts/script.js @@ -557,7 +557,7 @@ addInitEvent(function(){ * @author Andreas Gohr <andi@splitbrain.org> */ addInitEvent(function(){ - var highlightorfinish = new RegExp('DIV|H[123]'); + var break_classes = new RegExp('secedit|toc|page'); var btns = getElementsByClass('btn_secedit',document,'form'); for(var i=0; i<btns.length; i++){ addEvent(btns[i],'mouseover',function(e){ @@ -565,19 +565,19 @@ addInitEvent(function(){ if(tgt.form) tgt = tgt.form; tgt = tgt.parentNode.previousSibling; if(tgt.nodeName != "DIV") tgt = tgt.previousSibling; - while(tgt.nodeName == 'DIV') { + while(!break_classes.test(tgt.className)) { tgt.className += ' section_highlight'; - do { - tgt = (tgt.previousSibling != null) ? tgt.previousSibling : tgt.parentNode; - } while (!highlightorfinish.test(tgt.nodeName)); + if (tgt.tagName == 'H1') break; + tgt = (tgt.previousSibling != null) ? tgt.previousSibling : tgt.parentNode; } }); addEvent(btns[i],'mouseout',function(e){ - var secs = getElementsByClass('section_highlight',document,'div'); + var secs = getElementsByClass('section_highlight'); for(var j=0; j<secs.length; j++){ - secs[j].className = secs[j].className.replace(/ section_highlight/,''); + secs[j].className = secs[j].className.replace(/section_highlight/,''); } + var secs = getElementsByClass('section_highlight'); }); } });