// ==UserScript== // @name Acfun文章区抽奖 // @namespace http://tampermonkey.net/ // @version 0.2 // @description Acfun文章区抽奖beta版本 // @author styang // @match http://www.acfun.cn/a/* // @grant none // @downloadURL 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 = '当前回复人数0人' 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 = '

R

'; var pStrGreen = '

B

'; 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)); } } } }) })();