Greasy Fork is available in English.

Acfun文章区抽奖

Acfun文章区抽奖beta版本

Od 20.12.2018.. Pogledajte najnovija verzija.

// ==UserScript==
// @name         Acfun文章区抽奖
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  Acfun文章区抽奖beta版本
// @author       styang
// @match        http://www.acfun.cn/a/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    var $ = window.$;
$(function(){
	var isUp = $('.up-cover').css("background-image").indexOf($('.user-avatar img').attr('src'))>0;
	if(isUp){
		console.log('确认为up主,载入抽奖助手...')
		var button = document.createElement('div');
		var jqButton = $(button);
		var buttonCss = {
			'border-radius':'15px',
			'padding':'5px 10px',
			'background':'#fd4c5b',
			'display':'inline-block',
			'cursor':'pointer',
			'margin-left':'5px',
			'color':'#fff'
		};
		jqButton.css(buttonCss);
		jqButton.attr('onclick',"$('#lotteryBox').show()");
		jqButton.text('开始抽奖');
		$('#art-operate').html(	$('#art-operate').html() + button.outerHTML);
		var lotteryBox = document.createElement('div');
		var jqBox = $(lotteryBox);
		var input = document.createElement('input');
		var lotteryBtn = document.createElement('div');
		var jqLotteryBtn = $(lotteryBtn);
		jqLotteryBtn.css(buttonCss);
		jqLotteryBtn.text('启动!');
		jqLotteryBtn.attr('onclick','lottery()');
		var title = document.createElement('p');
		title.innerHTML = '当前回复人数<span id="totalReplies">0</span>人'
		input.type = 'number';
		$(input).css({
			'border':'1px solid #ccc',
			'border-radius':'5px',
			'height':'28px',
			'text-indent':'10px'
		})
		$(input).attr('id','lotteryNum')
		jqBox.append(title.outerHTML);
		jqBox.append(input.outerHTML);
		jqBox.append(lotteryBtn.outerHTML);
		jqBox.css({
			border:'1px solid #ccc',
			'padding':"30px",
			'font-size':'1.2em',
			'line-height':1.3,
			'display':'none'
		})
		jqBox.attr('id','lotteryBox');
		$('#area-comment').before(lotteryBox.outerHTML);
		window.lottery = function(){
			var totalReplies = parseInt($('.comment_pts_num').text())
			var lotteryNum = $('#lotteryNum').val();
			var pStr = '<p>R</p>';
			var pStrGreen = '<p style="color:green">B</p>';
			if(!totalReplies){
				$('#lotteryBox').append(pStr.replace('R','获取当前回复人数失败'));
				return;
			}
			if(lotteryNum === ''){
				$('#lotteryBox').append(pStr.replace('R','请先输入抽奖人数'));
				return;
			}
			$('#totalReplies').text(totalReplies);
			$('#lotteryBox').append(pStr.replace('R','获取当前回复人数' + totalReplies +'人'));
			$('#lotteryBox').append(pStr.replace('R','需要抽奖人数' + lotteryNum +'人'));
			var results = []
			var ram = function(){
				var val = Math.ceil(Math.random()*totalReplies);
				if(results.indexOf(val)<0){
					results.push(val);
				}else{
					ram();
				}
			};
			for (var j = 0; j < parseInt(lotteryNum); j++) {
				ram();
			}
			for (var i = 0; i < results.length; i++) {
				var a = document.createElement('a');
				a.href = 'http://www.acfun.cn'+location.pathname +'#layer='+results[i];
				a.target = '_blank';
				a.innerHTML = '点此跳转';
				$('#lotteryBox').append(pStrGreen.replace('B','第' + (i+1) +'个中奖楼层为'+results[i]+'楼,' + a.outerHTML));
			}
		}
	}
})
})();