javascript - js函数不改变值

标签 javascript iframe

我有以下代码。第一次调用该函数时,iframe 将内容更改为 newPage,但第二次调用该函数时,页面不会更改。

<!DOCTYPE html>
<html>   
<head>
<meta charset="ISO-8859-1">
<title>Submit</title>

<script> 
   var url = 1;

   function setURL(url){
       var win1 = "http://localhost/Audio/src/submit1.html" ;
       var win2 = "http://localhost/Audio/src/newPage.html";      

       if (url === 1){            
         document.getElementById('iframe').src=win2;
         url=2;          
       }             
       else{
           document.getElementById('iframe').src=win1; 
           url=1;
       } 
   }    
</script> 

</head> 

<body>

<iframe src="http://localhost/Audio/src/audio.html" style="width:0;height:0;border:0; border:none;"></iframe>  

<iframe id="iframe" style="border:0; "   src="http://localhost/Audio/src/submit1.html"> 



</iframe>



<input type="button" value="click me 71"  onclick="setURL(url)"> 


</body>
</html>

最佳答案

您有两个名为 url 的变量。

一个定义为全局变量,一个定义为函数参数。

您的函数仅更改定义为函数参数的参数,该参数不会保留在任何地方。

如果要修改全局参数:不要在函数定义中定义参数(并且不必费心向函数传递参数)。

关于javascript - js函数不改变值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36059326/

相关文章:

javascript - 使用 Javascript 提交表单

javascript - Three.js BufferGeometry顶点位置数组元素顺序是什么意思?

javascript - 用js实现键盘切换按钮快捷键

html - 为桌面和移动设备居中 iframe

iframe - iframe 上的 onbeforeunload 事件未在 google chrome 中触发,适用于 IE、firefox

javascript - 如何在 ReactJS 中使用 const

javascript - 跨 "page loads"无缝音乐播放的理想解决方案?使用javascript加载页面

html - CSS 更改后 iPad iframe 滚动到顶部

jquery - &lt;textarea&gt; 上的 Kendo 编辑器创建 iframe,因此无法在其中绑定(bind)任何 javascript 事件

iframe - ckeditor 在编辑器中添加 &lt;iframe&gt; 标签