onclick预先形成2个功能

时间:2014-07-02 03:37:39

标签: javascript function iframe multiple-instances

我似乎无法以我想要的方式工作。我有一个包含内容的iframe,我希望能够点击“下一步”按钮并让iframe前进1并让它显示框架下方的网址,并且前进1。 我知道回调iframe网址的问题,但每次只提前1次,所以我想如果我只输出网址+点击它会跟上网页的实际网址。
另外,我已经使两个代码都有效,但是当我把它们放在一起时,它似乎无法工作。

<script>
var c=0;
var url="http://www.example.com/myfolders/";
var clicks=0;
var burl="http://www.example.com/myfolders/";
function func1(){
 document.getElementById("myframe").src = url+c;
 c++;
}
function func2() {
    clicks += 1;
    document.getElementById("myframe").innerHTML = burl+clicks;
};
</script>

<iframe id="myframe" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" src="http://www.example.com/myfolders/0" width="100%" height="300"></iframe>

<input type=button onclick="func1();func2();" value="Next">

2 个答案:

答案 0 :(得分:1)

您的代码正在获取iframe(通过document.getElementById("myframe"))和设置其innerHTML 。你不能这样做。在iframe之后,创建一个元素作为图例,并将其innerHTML设置为iframe网址。它会是这样的(代码也得到了改进):

<script>
var c=0;
var url="http://www.example.com/myfolders/";
var clicks=0;
var burl="http://www.example.com/myfolders/";
function updateFrame() {
    clicks++;
    c++;
    document.getElementById("myframe").src = url+c; 
    document.getElementById("framelegend").innerHTML = burl+clicks;
};
</script>

<iframe id="myframe" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" src="http://www.example.com/myfolders/0" width="100%" height="300"></iframe>
<span id="framelegend"></span>

<input type=button onclick="updateFrame();" value="Next">

答案 1 :(得分:0)

为什么不在另一个函数中调用函数。也许可以做这样的事情。希望这有助于解决你的问题

function func1(){
 document.getElementById("myframe").src = url+c;
 c++;
}
function func2() {
 clicks += 1;
 document.getElementById("myframe").innerHTML = burl+clicks;
}
function todo(){
c1();
func2();
}

<input type=button onclick="todo();" value="Next">