Window floating container

Adds a fixed header element for use by other scripts

Versione datata 29/11/2016. Vedi la nuova versione l'ultima versione.

Questo script non dovrebbe essere installato direttamente. È una libreria per altri script da includere con la chiave // @require https://update.greasyfork.org/scripts/18233/160540/Window%20floating%20container.js

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

// ==UserScript==
// @name         Window floating container 
// @version      1.1.6
// @description  Adds a fixed header element for use by other scripts
// @author       @_jnblog
// @require      https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js
// @grant        GM_addStyle
// @grant        GM_getValue
// @grant        GM_setValue
// ==/UserScript==
/* jshint -W097 */
/* global $ */
/* jshint asi: true, multistr: true */
'use strict'


function getFloater() {
  return $('#ijgWindowFloater')
}

var ijgFloater = getFloater()

if (!$('#ijgWindowFloater').length) {
  ijgFloater = $('<div id="ijgWindowFloater">')
  $('.nav-TopSpacer').append(ijgFloater).css('position', 'relative')
  addStyles()

  $('<i class="ijgWindowFloater-toggle">')
      .appendTo(ijgFloater)
      .on('click', function() {
    $('#ijgWindowFloater').toggleClass('ijg-is-closed')
    GM_setValue('ijgWindowFloater-closed', $('#ijgWindowFloater').hasClass('ijg-is-closed'))
  })

  var isClosed = GM_getValue('ijgWindowFloater-closed')
  if (isClosed || typeof ijgWindowFloater-closed === 'undefined') {
    $('#ijgWindowFloater').addClass('ijg-is-closed')
  }
}



function addStyles () {
  GM_addStyle('#ijgWindowFloater {\
    position: absolute;\
    top: 100%;\
    left: 0;\
    z-index: 2000;\
    color: white;\
    background-color: #EB6841;\
  }\
  #ijgWindowFloater a {\
    color: white !important;\
    padding: 5px;\
    display: inline-block;\
  }\
  #ijgWindowFloater a:hover {\
    color: #FAF667 !important;\
  }\
  .ijgWindowFloater-item {\
    vertical-align: middle;\
    padding-left: .6em;\
    padding-right: .2em;\
    white-space: nowrap;\
  }\
  .ijg-is-closed .ijgWindowFloater-item {\
    display: none;\
  }\
  .ijgWindowFloater-toggle {\
    background-color: transparent;\
    box-shadow: inset 0 0 0 32px;\
    -webkit-transform-origin: right;\
    -ms-transform-origin: right;\
    transform-origin: right;\
    transform: rotate(180deg);\
    vertical-align: middle;\
    display: inline-block;\
    position: relative;\
    font-style: normal;\
    color: transparent;\
    text-align: left;\
    text-indent: -9999px;\
    direction: ltr;\
    box-sizing: border-box;\
    border: 2px solid white;\
    transition: all .2s;\
    border-radius: 50%;\
    width: 24px;\
    height: 24px;\
    margin: 2px 5px 3px 2px;\
    padding: 0;\
    top: 0;\
    left: -22px;\
  }\
  .ijgWindowFloater-toggle:before,\
  .ijgWindowFloater-toggle:after {\
    content: "";\
    width: 14px;\
    height: 2px;\
    position: absolute;\
    bottom: 0;\
    margin: auto 0;\
    box-shadow: inset 0 0 0 32px;\
    -webkit-transform-origin: right;\
    -ms-transform-origin: right;\
    transform-origin: right;\
    pointer-events: none;\
    width: 9px;\
    right: 6.5px;\
    color: white;\
  }\
  .ijgWindowFloater-toggle:before {\
    top: 2px;\
    -webkit-transform: rotate(45deg);\
    -ms-transform: rotate(45deg);\
    transform: rotate(45deg);\
  }\
  .ijgWindowFloater-toggle:after {\
    top: 0;\
    -webkit-transform: rotate(-45deg);\
    -ms-transform: rotate(-45deg);\
    transform: rotate(-45deg);\
  }\
  .ijg-is-closed .ijgWindowFloater-toggle:before {\
    top: 12px;\
    right: 8px;\
  }\
  .ijg-is-closed .ijgWindowFloater-toggle:after {\
    top: -10px;\
    right: 8px;\
  }')
}