2012-10-17 109 views
0

我試圖顯示一個推文按鈕,但Twitter按鈕的代碼正在顯示爲文本鏈接。我一直在努力解決這個問題,但它不會變回到按鈕。我究竟做錯了什麼?請幫忙。JavaScript Twitter按鈕代碼不起作用

var i = 0; 

var a; 
var b; 
var c; 
var d; 

function calculate() { 

    console.log(1); 
    var activity = $("#txtActivity").val(); 

    var days = parseInt($("#txtDays").val(), 10); 
    var hours = parseInt($("#txtHours").val(), 10); 
    var minutes = parseInt($("#txtMinutes").val(), 10); 
    var seconds = parseInt($("#txtSeconds").val(), 10); 

    var MoneyMadeDuringActivity = (days * 21464) + (hours * 2683) + (minutes * 44.72) + (seconds * 0.74); 
    MoneyMadeDuringActivity = MoneyMadeDuringActivity.toFixed(2); 

    if (isNaN(MoneyMadeDuringActivity)) { 
    MoneyMadeDuringActivity = 0.00; 
    } 

    if (i < MoneyMadeDuringActivity) { 
    if (a < MoneyMadeDuringActivity) { i = i + a; } 
    if (b < MoneyMadeDuringActivity) { i = i + b; } 
    if (c < MoneyMadeDuringActivity) { i = i + c; } 
    if (d < MoneyMadeDuringActivity) { i = i + d; } 
    } else if (i > MoneyMadeDuringActivity) { 
    if (a < MoneyMadeDuringActivity) { i = i - a; } 
    if (b < MoneyMadeDuringActivity) { i = i - b; } 
    if (c < MoneyMadeDuringActivity) { i = i - c; } 
    if (d < MoneyMadeDuringActivity) { i = i - d; } 
    } 

    $.getScript("http://platform.twitter.com/widgets.js"); 
    var twit_link = $('<a/>', { 
    href : 'https://www.twitter.com/share', 
    'class' : 'twitter-share-button', 
    url : 'http://www.twitter.com/obamamakes', 
    'data-count' : 'none', 
    'data-via' : 'ObamaMakes', 
    'data-text' : 'In the time it takes me to ' + activity + ', Barack Obama makes $' + i.toFixed(1) 
    }).text('Tweet'); 

    $("#CalcOutput").html("In the time it takes me to <span class=\"num\">" + activity + "</span>,<br /> Barack Obama makes <span class=\"num\">" + "$" + i.toFixed(1) + "</span><br />"); 
    $("#CalcOutput").append(twit_link); 
} 

    $("#txtDays").focus(function() { 
    $(this).val(''); 
    }); 
    $("#txtDays").keyup(function(event) { 
    a = 2683; 
    setInterval(calculate, 5); 
    }); 

    $("#txtHours").focus(function(){ 
    $(this).val(''); 
    }); 
    $("#txtHours").keyup(function(event) { 
    b = 670.75; 
    setInterval(calculate, 5); 
    }); 

    $("#txtMinutes").focus(function() { 
    $(this).val(''); 
    }); 
    $("#txtMinutes").keyup(function(event) { 
    c = 22.36; 
    setInterval(calculate, 5); 
    }); 

    $("#txtSeconds").focus(function(){ 
    $(this).val(''); 
    }); 
    $("#txtSeconds").keyup(function(event) { 
    d = 0.37; 
    setInterval(calculate, 5); 
    }); 
+0

你可以請出所有與顯示Twitter按鈕無關的代碼嗎?將測試用例減少到基本要素,您將有更好的機會找到問題:http://css-tricks.com/reduced-test-cases/ –

回答

0

你失蹤的CSS,在腳本中有您要設置與類的鏈接twitter-share-button你需要有一個類中有一個樣式表。你可能已經知道如何在CSS錶鏈接到HTML,但這裏有一個例子:這正好介於兩者之間<head>

<link href="controls/ControlStyles.css" rel="stylesheet" type="text/css" /> 

編輯:

確保這是在你的HTML像Twitter Docs

<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="https://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script> 

有這取決於你如何想按鈕看起來不同<script>標籤的選擇,我仍然會嘗試爲併入造型到yourown CSS你自己的服務器,如果可能的

+0

我不必爲我的包含樣式表其他Twitter按鈕雖然。我所要做的只是複製和粘貼JavaScript代碼。由於某些原因某些按鈕沒有正確顯示。 – JaPerk14

+0

如果可能,請始終使用您自己的樣式表,而不是依賴於其他網址,我會看看它是否可以爲您找到它,並將其放在您的服務器上 –

+0

@ JaPerk14 - 編輯答案 –

0

在所有Twitter's examples中,加載的腳本位於標記標記<a>之後。這可能是因爲您首先加載腳本,可能會立即執行腳本,而不是響應事件DOMContentReady,因此找不到任何要創建的按鈕。附加標記後嘗試包括腳本。或者準確使用Twitter的非jQuery代碼。