MediaWiki:Vector.js: Różnice pomiędzy wersjami
Z High School DxD Wiki
Linia 29: | Linia 29: | ||
console.log(ul); | console.log(ul); | ||
− | + | ul.on('mouseenter', 'li', function() { | |
var el = $(this); | var el = $(this); | ||
var pos = el.position(); | var pos = el.position(); | ||
− | $(this). | + | $(this).children('ul').css({display:'block', left: el.width()+pos.left, top: pos.top}); |
//parent.addClass('hover'); | //parent.addClass('hover'); | ||
}).on('mouseleave', 'li', function() { | }).on('mouseleave', 'li', function() { |
Wersja z 22:07, 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 = Sidebar.getItem(menu); Sidebar.buildSubmenu(item, wgSidebar[menu]); var ul = item.parent('ul'); } console.log(ul); ul.on('mouseenter', 'li', function() { var el = $(this); var pos = el.position(); $(this).children('ul').css({display:'block', left: el.width()+pos.left, top: pos.top}); //parent.addClass('hover'); }).on('mouseleave', 'li', function() { var submenu = $(this).children('ul'); if(submenu.is(':visible')) { submenu.css({display: 'none'}); } }); }, 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.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();});