2012-10-17 157 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代码。