MediaWiki:Vector.js: Różnice pomiędzy wersjami
Z High School DxD Wiki
Linia 6: | Linia 6: | ||
}); | }); | ||
+ | window.wgSidebar = (window.wgSidebar||{}); | ||
+ | importScript('MediaWiki:Vector.js/Sidebar.js'); | ||
+ | |||
Sidebar = { | Sidebar = { |
Wersja z 20:44, 12 lip 2013
$(function(){ if ($.browser.mozilla) { $('#left-navigation, #right-navigation').css('top', '10.8em'); } }); window.wgSidebar = (window.wgSidebar||{}); importScript('MediaWiki:Vector.js/Sidebar.js'); Sidebar = { getItem: function(name) { return $('#n-' + encodeURIComponent(name.replace(/ /g, '-')).replace(/%/g, '.')); }, init: function() { if (!window.wgSidebar) return; for (var menu in wgSidebar) { var item = this.getItem(menu); this.buildSubmenu(item, wgSidebar[menu]); } }, buildSubmenu: function(menu, items) { var ul = $('<ul>'); menu.addClass('submenu'); for (var i in items) { var item = items[i]; var li = $('<li>'); if (typeof item === 'string') { var link = this.getLink(item); li.append(link); ul.append(li); } else if(typeof item === 'object') { for (var j in item) { var link = this.getLink(j); li.append(link); ul.append(li); this.buildSubmenu(li, item[j]); } } else continue; $(menu).on('mouseover', 'a', function() { var parent = $(this).parent('li'); var pos = parent.position(); $(this).next().css({display:'block', left: parent.width()+pos.left, top: pos.top}); //parent.addClass('hover'); }).on('mouseout', 'a', function() { var submenu = $(this).next('ul'); if(submenu.is(':visible')) { submenu.css({display: 'none'}); } console.log(submenu.is(':visible')); // }); } menu.append(ul); }, getLink: function(txt, has_submenu) { var pos = txt.indexOf('|'); var article = ''; var caption = ''; if (pos > 0) { article = txt.substr(0, pos); caption = txt.substr(pos + 1); } else { article = txt; caption = txt; } var href = ''; if (article.length > 7 && article.substr(0,7) == 'http://') { href = article; } else { article = encodeURIComponent(article.replace(/ /g, '_')); href = wgArticlePath.replace('$1',article); } return '<a href="' + article + '">' + caption + '</a>'; } } //$(function(){Sidebar.init();});