0

我正在尝试显示 twitter 按钮,但 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);
  });
4

2 回答 2

0

Twitter 的所有示例中,加载的脚本都位于<a>标记标记之后。由于您首先加载脚本,因此它可能会立即执行,而不是响应DOMContentReady事件,因此可能找不到任何要创建的按钮。尝试在附加标记后包含脚本。或者尝试完全使用 Twitter 的非 jQuery 代码。

于 2012-10-17T04:00:04.300 回答
0

您缺少 css ,在您的脚本中,您正在设置与类的链接,twitter-share-button 您需要一个包含该类的样式表。您可能已经知道如何将 css 表链接到 HTML,但这里有一个示例:这介于两者之间<head>

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

编辑:

确保这在您的 HTML 中,就像在Twitter 文档中一样

<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>标签选项,如果可能的话,我仍然会尝试将该样式合并到您自己服务器上的 CSS 中

于 2012-10-17T03:48:35.407 回答