2017-01-13 34 views
0

在這裏,我只是反覆重複相同的代碼,只是遞增變量名稱。與RSS2JSON實用程序的feed url調用相同。 我可以以某種方式寫這個,所以我不必重複?我實際上有8個不同的提要我想使用。而不是重複代碼塊,更有效的方式來寫這個JavaScript?

<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> 
+0

_Can我莫名其妙地寫這篇文章,所以我不必重複_當然可以!你只需要/應該有1個函數showFeed() –

回答

0

向函數添加第二個參數以接受元素。

0

喜歡的東西:

<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> 
+0

我給了一個鏡頭,但注意到,在API調用中,有一個回調變化每個...(showFeed1,showFeed2,showFeed3),所以我需要這個作爲函數名稱增加,如果這是有道理的。 – Andrew

0

希望你做得很好.. !!

你可以使用一個功能showFeed()兩個參數是datavarFlag如下:

<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> 
相關問題