2013-11-01 91 views
0

我有一个脚本设置,以便我可以在网站上嵌入各种Facebook帖子。想法是,它会随机加载一个帖子,然后点击按钮加载另一个帖子。当我点击按钮时,上一篇文章消失了,但是我所要求的新文章没有出现。Javascript按钮单击不起作用

任何人都可以摆脱任何光线?

使用Javascript:

var comps = new Array(); 

comps[0] = "\"https://www.facebook.com/permalink.php?story_fbid=10151746360309352&id=9212109351\""; 

comps[1] = "\"https://www.facebook.com/photo.php?fbid=10202149995929199&set=a.3217789641447.156870.1167545588&type=1\""; 

var firstLine = "<div id=\"fb-root\"></div>"; 

var secondLine = "<div class=\"fb-post\" data-href="; 

var thirdLine = " data-width=\"550\"></div>"; 

var randomComp = firstLine + secondLine + comps[Math.floor(Math.random()* comps.length)] + thirdLine; 

window.onload=function(){ 

document.getElementById('compsContainer').innerHTML = randomComp; 
} 

function changeComp(){ 

document.getElementById('compsContainer').innerHTML = randomComp; 
} 

HTML:

<div id="compsContainer"> 



    </div> 

    <input type='button' onclick='changeComp()' value='Change Comp'/> 

回答

0

变化点击数= '' 到的onclick = 'JavaScript的:changeComp()'?

好的,我误解了你的问题。

试试这个:

function newFunction(){ 
    var comps = new Array(); 

    comps[0] = "\"https://www.facebook.com/permalink.php?story_fbid=10151746360309352&amp;id=9212109351\""; 

    comps[1] = "\"https://www.facebook.com/photo.php?fbid=10202149995929199&amp;set=a.3217789641447.156870.1167545588&amp;type=1\""; 

    var firstLine = "<div id=\"fb-root\"></div>"; 

    var secondLine = "<div class=\"fb-post\" data-href="; 

    var thirdLine = " data-width=\"550\"></div>"; 

    var randomComp = firstLine + secondLine + comps[Math.floor(Math.random()* comps.length)] + thirdLine; 

    return randomComp; 

} 

window.onload=function(){ 

    document.getElementById('compsContainer').innerHTML = newFunction(); 
} 




function changeComp(){ 



document.getElementById('compsContainer').innerHTML = newFunction(); 
} 
当你调用changeComp

,它不运行:

var randomComp = firstLine + secondLine + comps[Math.floor(Math.random()* comps.length)] + thirdLine; 

所以randomComp将是空的。

(已更新)

+0

这看起来应该可以工作,但是当我点击按钮时,当前的帖子消失了,但是新的没有被调用。 –

+0

我认为在原始代码中,当前帖子消失了,因为randomComp是空的。你想要生成另一个randomComp并分配给HTML div,对吗?可以alert(newFunction())或console.log(newFunction())来检查randomComp是否仍为空? – SCV

0

如果在html页面中没有任何其他按钮。试试这个,它会起作用。

<input type='submit' onsubmit='changeComp()' value='Change Comp' />