您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Makes the page header (the search box) "sticky" when you scroll.
当前为
- // ==UserScript==
- // @name Wowhead Fixed Search Header
- // @description Makes the page header (the search box) "sticky" when you scroll.
- // @namespace drnick
- // @include *wowhead.com*
- // @grant none
- // @version 1.1.5
- // ==/UserScript==
- (function() {
- if (typeof jQuery == "undefined") throw "jQuery not found";
- if (window.top != window.self) return;
- var $ = jQuery;
- var $window = $(window);
- var $header = $(".header-search");
- var $headerInput = $(".header-search input");
- if ($header.length == 0) throw "#header not found";
- var styles = [
- ".header-search.sticky {",
- "position: fixed;",
- "top: 4px;",
- "right: 4px;",
- "z-index: 9999;",
- "width: 302px;",
- "box-shadow: 0 6px 8px #000;",
- "}",
- ".header-search.sticky input {",
- "width: 260px;",
- "padding: 2px;",
- "margin-left: -22px;",
- "}",
- ".header-search.sticky a {",
- "height: 26px;",
- "line-height: 26px;",
- "}",
- ].join("\n");
- $liveSearchStyle = $("<style type='text/css'></style");
- $("head").append("<style type='text/css'>" + styles + "</style>");
- $("head").append($liveSearchStyle);
- var offset = $header.offset().top;
- var height = $header.height();
- var $dummy = $header.clone();
- $dummy.empty();
- $dummy.attr("id", "header-dummy");
- $dummy.hide();
- $dummy.insertAfter($header);
- var liveSearchStyle = $liveSearchStyle.get(0);
- var isFloating = false;
- var liveSearchLeft = 0;
- var liveSearchTop = 0;
- var liveSearchWidth = 0;
- var liveSearchPos = "absolute";
- $window.scroll(function() {
- var scrollTop = $window.scrollTop();
- var recalc = true;
- if (!isFloating && scrollTop > offset) {
- $header.addClass("sticky");
- $dummy.show();
- isFloating = true;
- liveSearchPos = "fixed";
- $(".beta-ptr-links").hide();
- }
- else if (isFloating && scrollTop <= offset) {
- $header.removeClass("sticky");
- $dummy.hide();
- isFloating = false;
- liveSearchPos = "absolute";
- $(".beta-ptr-links").show();
- }
- else
- recalc = false;
- if (recalc) {
- liveSearchLeft = $header.offset().left | 0;
- liveSearchTop = ($header.offset().top + $header.height()) | 0;
- liveSearchWidth = $headerInput.outerWidth() | 0;
- if (isFloating) liveSearchTop -= ($window.scrollTop() | 0);
- liveSearchStyle.innerHTML = ".live-search { position:" + liveSearchPos + "; top: " + liveSearchTop + "px !important; " +
- "left: " + liveSearchLeft + "px !important; " +
- "width: " + liveSearchWidth + "px !important; }";
- }
- });
- $window.trigger('scroll');
- })();