🏠 

豆瓣悬停式导航栏

为豆瓣增加悬停式二级导航


安装此脚本?
// ==UserScript==
// @name         Sliding Navbar for douban
// @name:zh-CN   豆瓣悬停式导航栏
// @namespace    caomu.douban.sliding.navbar
// @version      0.4
// @description  Add Sliding Sub-Navbar for douban.com
// @description:zh-CN 为豆瓣增加悬停式二级导航
// @author       footroot <caomu>
// @include      https://*.douban.com/*
// @include      http://*.douban.com/*
// @require      https://cdn.bootcss.com/jquery/1.8.3/jquery.min.js
// @grant        GM_addStyle
// ==/UserScript==
var cssStr =
'.bn-sp a[data-moreurl-dict]{color:#d5d5d5 !important}'
+'.bn-sp a[data-moreurl-dict]:hover{color:#fff !important}'
+'.subnav{position: absolute !important;left: -999em !important;display: block !important;z-index:90 !important;padding: 10px 0; border: 1px solid #e6e6e6; background: #fff; white-space: nowrap; top: 28px;}'
+'.subnav{} .bn-sp:hover .subnav {left: auto !important;display: block !important}'
+'.subnav a {color: #3d3d3d !important;display: block !important;padding: 0 20px !important;line-height: 28px !important;}'
+'.subnav a:hover {background-color: #f6f6f6 !important;}'
GM_addStyle(cssStr)
var _uid = $('.global-nav-items ul li a').data('moreurl-dict').uid;
var _mine = (_uid === "0") ? "mine" : "people/" + _uid;
$('.top-nav-doubanapp').hide();
var _navList = {
'main': [
{'name':'浏览发现', 'link':'explore'},
{'name':'发现条目', 'link':'subject/explore'},
{'name':'移动应用', 'link':'app'},
{'name':'游戏', 'link':'game'},
{'name':'线上活动', 'link':'online'},
{'name':'我的主页', 'link':'mine'},
{'name':'广播', 'link':'mine/statuses'},
{'name':'相册', 'link':'mine/photos'},
{'name':'日记', 'link':'mine/notes'},
{'name':'喜欢', 'link':_mine + '/likes'},
{'name':'豆列', 'link':'mine/doulists'},
{'name':'地方', 'link':'trip/mine'}
],
'book': [
{'name':'我读', 'link':'mine'},
{'name':'书评', 'link':_mine + '/reviews'},
{'name':'笔记', 'link':_mine + '/annotation'},
{'name':'豆列', 'link':_mine + '/doulists'},
{'name':'动态', 'link':'updates'},
{'name':'豆瓣猜', 'link':'recommended'},
{'name':'分类浏览', 'link':'tag'},
{'name':'购书单', 'link':'cart'},
{'name':'排行榜', 'link':'chart'},
{'name':'书评专区', 'link':'review/best'}
],
'movie':[
{'name':'我看', 'link':'mine'},
{'name':'影评', 'link':_mine + '/reviews'},
{'name':'问答', 'link':_mine + '/question'},
{'name':'豆列', 'link':_mine + '/doulists'},
{'name':'影讯', 'link':'nowplaying'},
{'name':'选电影', 'link':'explore'},
{'name':'电视剧', 'link':'tv'},
{'name':'排行榜', 'link':'chart'},
{'name':'豆瓣猜', 'link':'recommended'},
{'name':'分类', 'link':'tag'},
{'name':'热门影评', 'link':'review/best'}
],
'music':[
{'name':'我听', 'link':'mine'},
{'name':'音乐动态', 'link':_mine + '/update'},
{'name':'乐评', 'link':_mine + '/reviews'},
{'name':'我的歌单', 'link':_mine + '/programme'},
{'name':'豆列', 'link':_mine + '/doulists'},
{'name':'音乐人', 'link':'artists'},
{'name':'专题', 'link':'topics'},
{'name':'排行榜', 'link':'chart'},
{'name':'豆瓣猜', 'link':'recommended'},
{'name':'分类浏览', 'link':'tag'},
{'name':'最新乐评', 'link':'review/latest'},
{'name':'歌单', 'link':'programmes'}
],
'location':[
{'name':'我的同城', 'link':'mine'},
{'name':'近期活动', 'link':'evets'},
{'name':'舞台剧', 'link':'drama'},
{'name':'剧评', 'link':'drama/review/best'}
],
'group':[
{'name':'我的小组', 'link':'mine'},
{'name':'加入', 'link':_mine + '/joins'},
{'name':'发起', 'link':_mine + '/publish'},
{'name':'回应', 'link':_mine + '/reply'},
{'name':'喜欢', 'link':_mine + '/likes'},
{'name':'推荐', 'link':_mine + '/recommendations'},
{'name':'话题精选', 'link':'explore'}
],
'read':[
{'name':'我的订阅', 'link':'subscriptions'},
{'name':'最近阅读', 'link':'reader'},
{'name':'购物车', 'link':'account/wishlist'}
],
'fm':[
{'name':'兆赫', 'link':'explore/channels'},
{'name':'歌单', 'link':'explore/songlists'},
{'name':'我的FM', 'link':'mine'}
],
'commodity':[
{'name':'我的东西', 'link':_mine},
{'name':'豆列', 'link':'doulists'},
{'name':'海淘', 'link':'haitao'},
{'name':'图文', 'link':'articles'}
],
'market':[
{'name':'个人中心', 'link':'people'},
{'name':'购物车', 'link':'cart'}
]
};
function init(){
var aInLi = $('.global-nav-items ul li').children('a[data-moreurl-dict]');
aInLi.parent().addClass('bn-sp');
aInLi.each(function(){
var _t = $(this), _dict = _t.data('moreurl-dict');
if(_dict){
var _from = _dict.from;
var _navClass = _from.replace('top-nav-click-','');
newSubNav(_t, _navClass);
}
})
}
function newSubNav(that, navClass){
var _t = that, _nc = navClass, _nl = _navList[_nc], _loc = _t.prop('origin') + _t.prop('pathname');
_loc = _loc.replace(/\/$/,'') + '/';
var _targetOn = _t.parent().hasClass('on'), _target = _targetOn ? '' : '_blank'
if (_nl){
_t.after($('<div class="more-items subnav nav-' + _nc + '">'));
$('.nav-' + _nc).append($('<table>'));
for (var i in _nl) {
var _str = '<tr><td><a href="' + _loc + _nl[i].link
+ '" target="'+_target+'">' + _nl[i].name + '</a></td></tr>'
_t.next().children('table').append($(_str))
}
}
}
var _nav = $('#db-global-nav');
if(_nav.length > 0){
init();
}