Count number of BayAreaBikeShare trips

On the Bay Area Bike Share trips page, count the number of trips taken.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name        Count number of BayAreaBikeShare trips
// @author      Mark Cervarich
// @namespace   http://markcerv.com
// @description On the Bay Area Bike Share trips page, count the number of trips taken.
// @include     https://*bayareabikeshare.com/account/trips
// @match       https://*bayareabikeshare.com/account/trips
// @version     2014-06-10-v01
// @copyright	2014+, Mark Cervarich
// @run-at      document-end
// @grant       none
// ==/UserScript==



// User editable variables
//
var COUNT_DOWN_SHOW = true;      // can be true or false
var COUNT_DOWN_SIDE = "left";    // can be "left" or "right"

var COUNT_UP_SHOW   = true;      // can be true or false
var COUNT_UP_SIDE = "right";     // can be "left" or "right"



// -- Please do not modify anything below here --
//

var numTripsTaken = 0;

function createNumTripsLi() {

    $('nav#member ul li:last').after("<li id='NumTrips'><span>...</span></li>");
    $('#NumTrips').css({"padding": "8px", "background-color": "#82C9BD",  "color": "white"});
}


function calculateNumTripsTaken() {
    var numTrips = 0;
    numTrips = $('section#content table >tbody >tr').length;
    return(numTrips)
    
}

function displayNumTripsTaken(numTrips) {
    $('#NumTrips span').replaceWith("<span># Trips Taken: <strong>" + numTrips + "</strong></span>");
    
}


function displaySideCounts(countUpOrDown, numTrips) {

    var selectTrFirst  = 'section#content table tr:first'
    var selectTrNotFirst  = 'section#content table tr:not(:first)'
    var sideToUse = "";

    if (countUpOrDown == "up") {
        sideToUse = COUNT_UP_SIDE
        var tripCounter = 0;
        var arrowHead = "&#x25B2;"
    } else {
        sideToUse = COUNT_DOWN_SIDE
        var tripCounter = numTrips;
        var arrowHead = "&#x25BC;"
    }


    if (sideToUse == 'left') {
        $(selectTrFirst).prepend("<th>#" + arrowHead + "</th>");

        $(selectTrNotFirst).each(function(){
            if (countUpOrDown == "up") tripCounter++
            $(this).prepend("<td>" + tripCounter + "</td>");
            if (countUpOrDown == "down") tripCounter--
        });

    } else {
        $(selectTrFirst).append("<th>#" + arrowHead + "</th>");

        $(selectTrNotFirst).each(function(){
            if (countUpOrDown == "up") tripCounter++
            $(this).append("<td>" + tripCounter + "</td>");
            if (countUpOrDown == "down") tripCounter--
        });
    }

}


    


// at load time
numTripsTaken = calculateNumTripsTaken();
createNumTripsLi();
displayNumTripsTaken(numTripsTaken);

if (COUNT_DOWN_SHOW) displaySideCounts("down", numTripsTaken)
if (COUNT_UP_SHOW) displaySideCounts("up", numTripsTaken)