[英]Instead of repeating blocks of code, more efficient way to write this javascript?
在這里,我只是一遍又一遍地重復相同的代碼,只是遞增變量名。 與對RSS2JSON實用程序的feed URL調用相同。 我能以某種方式寫這個,所以我不必重復嗎? 我實際上有8種不同的供稿。
<script type="text/javascript">
var cpacontent = document.getElementById('cpa');
function showFeed(data){
if(data.status == 'ok'){
var feedlength = data.items.length;
var output = '';
for(var i=0;i<1;++i){
output += '<p><a href="' +
data.items[i].link + '" target="_blank" >' +
data.items[i].title + '</a>';
}
cpacontent.innerHTML = output;
}
}
var fscontent = document.getElementById('fs');
function showFeed2(data){
if(data.status == 'ok'){
var feedlength2 = data.items.length;
var output2 = '';
for(var i=0;i<1;++i){
output2 += '<p><a href="' +
data.items[i].link + '" target="_blank" >' +
data.items[i].title + '</a>';
}
fscontent.innerHTML = output2;
}
}
var wealthcontent = document.getElementById('wealth');
function showFeed3(data){
if(data.status == 'ok'){
var feedlength3 = data.items.length;
var output3 = '';
for(var i=0;i<1;++i){
output3 += '<p><a href="' +
data.items[i].link + '" target="_blank" >' +
data.items[i].title + '</a>';
}
wealthcontent.innerHTML = output3;
}
}
</script>
<script type="text/javascript" src="http://rss2json.com/api.json?callback=showFeed1&rss_url=http%3A%2F%2Ffeedurlplaceholder1"></script>
<script type="text/javascript" src="http://rss2json.com/api.json?callback=showFeed2&rss_url=http%3A%2F%2Ffeedurlplaceholder2"></script>
<script type="text/javascript" src="http://rss2json.com/api.json?callback=showFeed3&rss_url=http%3A%2F%2Ffeedurlplaceholder3"></script>
向函數添加第二個參數以接受元素。
就像是:
<script>
function myFunction(selectorID, data) {
var element = document.getElementById('selectorID');
if(data.status == 'ok'){
var dataLength = data.items.length;
var output = '';
for(var i = 0; i < 1; ++i){
output += '<p> <a href="' +
data.items[i].link + '" target="_blank" >' +
data.items[i].title + '</a>';
}
cpacontent.innerHTML = output;
}
}
myFunction("cpa", cpaData);
myFunction("fs", fsData);
myFunction("wealth", wealthData);
</script>
希望你一切都好.. !!
您可以使用一個函數showFeed()
和兩個參數分別為data
和varFlag
,如下所示:
<script type="text/javascript">
function showFeed(data, varFlag){
if(data.status == 'ok'){
var feedlength = data.items.length;
var output = '';
for(var i=0;i<1;++i){
output += '<p><a href="';
output += data.items[i].link + '" target="_blank" >';
output += data.items[i].title + '</a>';
}
if(varFlag == 'cpa') { cpacontent.innerHTML = output; }
if(varFlag == 'fs') { fscontent.innerHTML = output; }
if(varFlag == 'wealth') { wealthcontent.innerHTML = output; }
}
}
var cpacontent = document.getElementById('cpa');
showFeed(data, 'cpa');
var fscontent = document.getElementById('fs');
showFeed(data, 'fs');
var wealthcontent = document.getElementById('wealth');
showFeed(data, 'wealth');
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.