Ich habe einen zufälligen Quote Generator codiert und möchte das Zitat zu twittern. http://codepen.io/nachamuami/pen/KrRYpY indem Sie versuchen, die Funktion zu twittern, ruft es die gesamte Funktion auf Twitter und nicht das Zitat, das durch den Code generiert wird. Alle Hinweise werden sehr geschätzt.Tweeting ein Angebot
function getQuote(){
var arrayLength = quoteArray.length; //number of entries in array
var randomValue = Math.floor(Math.random()*arrayLength);
var newQuoteY = quoteArray[randomValue].yiddish;
var newQuoteE = quoteArray[randomValue].translation;
$('#inYiddish').html(newQuoteY);
$('#inEnglish').html(newQuoteE);};
$('#quote-button').click(function(){
getQuote();
});
$('#twitter-button').click(function(){
window.open("https://twitter.com/intent/tweet?text=" + getQuote);
});
});
Danke, ich habe am Ende die neuenQuotes außerhalb der Funktion definiert. aber jetzt lief ich in ein anderes Problem, wenn ich versuche, das Zitat des ersten Platzhalters zu twittern, kommt es undefined auf. –
@AharonHyman Sie müssen den ursprünglichen Wert von 'newQuoteY' als Anfangszitat festlegen oder den Wert von $ ('# inYiddish'). Text()'. Ich würde mich persönlich für Ersteres entscheiden, um die Unnötigkeit einer zusätzlichen DOM-Abfrage zu vermeiden, um etwas zu bekommen, das in den meisten Fällen zuvor vom JavaScript eingestellt wurde. –
@AharonHyman Ein schöner Weg wäre, 'getQuote()' einmal auf Pageload auszuführen, was auch den zusätzlichen Bonus eines anderen Zitats hätte, wenn der Benutzer die Seite öffnet. –