[英]Javascript on button click not working
I have a script set up so that I can embed various Facebook Posts on a website. 我设置了一个脚本,以便可以在网站上嵌入各种Facebook帖子。 The idea is, it will load a post at random, and then on button click load another. 这个想法是,它将随机加载一个帖子,然后在按钮上单击加载另一个。 As I am clicking the button, the previous post disappears but the new one that I have called for does not appear. 当我单击按钮时,上一则帖子消失了,但是我所要求的新帖子却没有出现。
Can anyone shed any light? 谁能阐明任何想法?
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: HTML:
<div id="compsContainer">
</div>
<input type='button' onclick='changeComp()' value='Change Comp'/>
change onlick='' to onclick='javascript:changeComp()' ? 将onlick =“更改为onclick ='javascript:changeComp()'吗?
Ok, I misunderstand you question. 好吧,我误会了你的问题。
try this: 尝试这个:
function newFunction(){
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;
return randomComp;
}
window.onload=function(){
document.getElementById('compsContainer').innerHTML = newFunction();
}
function changeComp(){
document.getElementById('compsContainer').innerHTML = newFunction();
}
when you call changeComp, it does not run: 当您调用changeComp时,它不会运行:
var randomComp = firstLine + secondLine + comps[Math.floor(Math.random()* comps.length)] + thirdLine;
so randomComp will be empty. 因此randomComp将为空。
(updated) (更新)
If you don't have any other buttons in the html page. 如果您在html页面中没有其他按钮。 Try this, it will work. 试试这个,它将起作用。
<input type='submit' onsubmit='changeComp()' value='Change Comp' />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.