FantasyLeagueExd

try to take over the world!

当前为 2016-06-19 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name FantasyLeagueExd
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author Alexey Seklenkov
// @match http://www.sports.ru/fantasy/football/league/*
// @grant none
// ==/UserScript==

var html_field_div = `
<div class="grace full-field">
<div class="forward-container">
</div>
<div class="halfback-container">
</div>
<div class="defender-container">
</div>
<div class="goalkeeper-container">
</div>
<div class="reserve-container">
</div>
</div>`;

var html_player = `
<ins data-id="[data-id]" data-amplua="[data-amplua]" class="player hold [player-class] ">
<img class="t-shirt" src="[t-shirt-url]" alt="[club]" title="[club]"><span class="name">[player-name]</span>
<span class="pl-descr">
<i class="ico point">[points]</i>
</span>	
<span class="role">[role]</span>
</ins>`;

var teams = [];
var team_ids = [];
var json_ids = [];

var team_url = "http://www.sports.ru/fantasy/football/team/points/[team_id].html";
var team_json_url = 'http://www.sports.ru/fantasy/football/team/points/[team_id]/[json_id].json';


(function() {
    'use strict';
    addFields();
    getJsonIds();
})();

function addFields() {
    var team_url = '';
    var team_name = '';
    var team_id = '';
    var new_tr = '';
    var new_td = '';
    var field_div = '';


    $(".players-rank > table > tbody > tr").each(function() {

        //собираем название команд и ссылки в массивы
        team_url = $(this).children('td').eq(2).children('a').attr('href'); //ссылка на команду
        team_name = $(this).children('td').eq(2).children('a').text(); //название команды
        var re = new RegExp("([0-9]*).html");
        team_id = re.exec(team_url)[1];
        teams.push(team_name);
        team_ids.push(team_id);

        //добавляем футбольное поле
        field_div = $(html_field_div); 
        $(field_div).attr("team", team_name);
        $(field_div).attr("team_id", team_id);
        $(field_div).css("padding-bottom", 10);
        $(field_div).css("line-height", "10px");
        new_tr = $('<tr><td></td><td></td></tr>'); 
        new_td = $('<td colspan="4"></td>');
        $(new_td).append(field_div);
        $(new_tr).append(new_td);
        $(new_tr).insertAfter($(this));
    });

}

function getJsonIds(){
    console.log(team_ids);
    var temp_url = team_url.split('[team_id]').join(team_ids[0]);
    $.ajax({
        url: temp_url,
        type: 'get',
        dataType: 'html',
        success: function(data) {
            var $data = $(data);
            $(data).find('#fan_points_select > option').each(function (index, element) {
                var tour = $(element).text();
                var id = $(element).attr("value");
                json_ids[tour] = id;
            });
            
            var tour = $(".pager2.title-descr > b").text();
            $(".full-field").each(function() {
                addPlayers($(this).attr('team_id'), json_ids[tour]);
            });
        }
    });
}

function addPlayers(team_id, json_id){
    var temp_url = team_json_url.split('[team_id]').join(team_id);
    temp_url = temp_url.split('[json_id]').join(json_id);
    $.getJSON( temp_url, function( data ) {
        var players = data.players;
        for(var i = 0; i < players.length; i++){
            addPlayer(players[i], team_id);
        }
    });
}

function addPlayer(player, team_id){
    var player_class = 'player-base';
    var temp_html_player = html_player.split('[data-id]').join(player.id);
    temp_html_player = temp_html_player.split('[data-amplua]').join(player.amplua);
    temp_html_player = temp_html_player.split('[player-class]').join(player_class);
    temp_html_player = temp_html_player.split('[t-shirt-url]').join(player.img);
    temp_html_player = temp_html_player.split('[club]').join(player.club);
    temp_html_player = temp_html_player.split('[player-name]').join(player.name);
    temp_html_player = temp_html_player.split('[points]').join(player.points);
    var $player = $(temp_html_player);
    $player.css('padding', '0');
    if(player.row == 1){
        $(".full-field[team_id='"+team_id+"'] > .goalkeeper-container").each(function() {
            $(this).append($player);
        });
    }
    if(player.row == 2){
        $(".full-field[team_id='"+team_id+"'] > .defender-container").each(function() {
            $(this).append($player);
        });
    }
    if(player.row == 3){
        $(".full-field[team_id='"+team_id+"'] > .halfback-container").each(function() {
            $(this).append($player);
        });
    }
    if(player.row == 4){
        $(".full-field[team_id='"+team_id+"'] > .forward-container").each(function() {
            $(this).append($player);
        });
    }
    if(player.row == 0){
        $(".full-field[team_id='"+team_id+"'] > .reserve-container").each(function() {
            $(this).append($player);
        });
    }
}