您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Start a slideshow on any Pinterest page where there's pins. Clean and minimalist design. 5s interval between slides. Use spacebar to start, left/right keys to navigate.
当前为
- // ==UserScript==
- // @name Pinterest Slideshow
- // @namespace http://tampermonkey.net/
- // @version 1.0
- // @description Start a slideshow on any Pinterest page where there's pins. Clean and minimalist design. 5s interval between slides. Use spacebar to start, left/right keys to navigate.
- // @author French Bond
- // @match https://www.pinterest.com/*
- // @grant none
- // @require http://code.jquery.com/jquery-latest.js
- // ==/UserScript==
- $(function() {
- 'use strict';
- var pinList = [];
- var c = 0;
- var slideInterval = 5000;
- var interval;
- var running = 0;
- // Add the slideshow button in the header
- var slideshowButton = '<div><span class="slideshow" style="cursor:pointer; background-color: #C92228; color: #fff; padding: 8px; font-weight: bold; font-size: 14px; border-radius: 4px;">Slideshow</span></div>';
- $('body').append('<div style="position: fixed; bottom: 20px; left: 10px;">' + slideshowButton + '</div>');
- $('.slideshow').click(startSlideshow);
- function startSlideshow() {
- // Hide slideshow button
- $('.slideshow').hide();
- // List the pins
- pinList = [];
- $('.pinImageWrapper img').each(function(i) {
- var src = $(this).attr('src');
- //src = src.replace(/^https:\/\/([^/]+)\/([^/]+)\/(.*)/, 'https://$1/originals/$3');
- src = src.replace(/^https:\/\/([^/]+)\/([^/]+)\/(.*)/, 'https://$1/564x/$3');
- pinList[pinList.length] = src;
- });
- // Add the slideshow menu
- $('html').append('<div class="menu-slideshow" style="position: absolute; left:3px; top:3px; font-size:14px;"></div>');
- $('.menu-slideshow')
- .append('<div class="stop-slideshow" style="cursor:pointer; background-color: #C92228; color: #fff; padding: 7px; float:left; font-weight: bold; border-radius: 4px;">Stop</div>')
- //.append('<div class="options-slideshow" style="cursor:pointer; background-color: #666; color: #fff; padding: 7px; float:left; border-radius: 4px; margin-left:3px;">Options</div>')
- .append('<div class="info-slideshow" style="color: #ccc; padding: 7px; float:left;">/</div>');
- $('.stop-slideshow').click(function() {
- $('.menu-slideshow').remove();
- clearInterval(interval);
- running = 0;
- $('.App').css('display', 'block');
- $('body').css('background-color', '#fff');
- $('body').css('background-image', 'none');
- // Show slideshow button
- $('.slideshow').show();
- console.log('Slideshow stopped');
- });
- // Prepare the slideshow canvas
- $('.App').css('display', 'none');
- $('body').css('background-repeat', 'no-repeat');
- $('body').css('background-size', 'contain');
- $('body').css('background-position', 'center');
- $('body').css('background-color', '#333');
- console.log('Starting slideshow');
- console.log('Number of slides: ' + pinList.length);
- console.log('Slide interval: ' + (slideInterval/1000) + 's');
- // Start from first slide
- c = 0;
- clearInterval(interval);
- running = 1;
- showSlide();
- interval = setInterval(nextSlide, slideInterval);
- }
- function showSlide() {
- console.log('Current slide: ' + (c+1));
- $('body').css('background-image', 'url('+pinList[c]+')');
- $('.info-slideshow').html((c+1)+'/'+pinList.length);
- }
- function nextSlide() {
- c++;
- if (c > pinList.length-1) c = 0;
- showSlide();
- }
- function previousSlide() {
- c--;
- if (c < 0) c = pinList.length-1;
- showSlide();
- }
- $("body").keydown(function(e) {
- if (running) {
- if (e.keyCode == 37) { // left
- clearInterval(interval);
- previousSlide();
- interval = setInterval(nextSlide, slideInterval);
- }
- if (e.keyCode == 39) { // right
- clearInterval(interval);
- nextSlide();
- interval = setInterval(nextSlide, slideInterval);
- }
- } else {
- if (e.keyCode == 32) startSlideshow();
- }
- });
- });