我的JSON工作正常。我每次点击我的" Gimme A'我都能修改引用文本和引用作者。报价"按钮。但是,每次尝试使用引用文本和作者发布推文时,我都会遇到问题。每当我点击推特符号时,页面就会刷新。
我一直试图通过这样做将引用内容和作者添加到推文中:
var twitterIntent = 'https://twitter.com/intent/tweet?text=' + quoteText + 'Author' + quoteAuthor + ' @myleschuahiock';
随后告诉JQuery每当我点击" Gimme A'报价"按钮:
$('.quote-button').click(function(){
getQuote();
colorRandomizer();
$('.twitter-share').attr("href", twitterIntent);
});
我的代码位于: http://codepen.io/myleschuahiock/pen/WrVgzB 请看看!
有人可以告诉我我做错了什么吗? 谢谢,非常感谢!
这个项目是我提交给Free Code Camp的。
答案 0 :(得分:2)
您正在twitterIntent
函数中定义getQuote()
,但之后尝试在该函数之外使用它。如果您检查控制台是否有错误,则会在您单击按钮后显示twitterIntent
未定义。相反,您只需更改href
功能内.twitter-share
链接的getQuote()
属性即可。
只需在您要更改$('.twitter-share').attr('href','https://twitter.com/intent/tweet?text='+quoteText+' Author: '+quoteAuthor+' @myleschuahiock');
和.quote-content
区域内容的行.quote-author
中添加,如下例所示。
json.forEach(function(val) {
quoteText = val.quote;
quoteAuthor = val.author;
$('.quote-content').html(quoteText);
$('.quote-author').html(quoteAuthor);
$('.twitter-share').attr('href','https://twitter.com/intent/tweet?text='+quoteText+' Author: '+quoteAuthor+' @myleschuahiock');
});
然后,您只需从$('.twitter-share').attr("href", twitterIntent);
移除$('.quote-button').click()
,即可全部设置。