我有一个简单的JavaScript,当按下onclick时,应该从右侧显示一个div!
但是在萤火虫上,我得到一个函数未定义的错误!我在左侧具有相同的功能,并且工作正常。这是我的代码。
<div id="cpBtnRgt" onclick="toggleCPRgt()">
<div></div>
<div></div>
<div></div>
</div>
<script type="text/javascript">
function toggleCPRgt(){
var cpRgt = document.getElementById("cpRgt");
cpRgt.style.height = window.innerHeight - 60+"px";
if(cpRgt.style.right == "0px"){
cpRgt.style.right = "-300px";
} else {
cpRgt.style.right = "0px";
}
}
</script>
我还在这里设置了JSFiddle ... http://jsfiddle.net/r6fkq3jt/
jsfiddle的问题是您的javascript函数被匿名函数包装,导致您遇到范围问题。您可以在此处查看正在执行的内容
<script type="text/javascript">//<![CDATA[
window.onload=function(){
function toggleCPRgt(){
var cpRgt = document.getElementById("cpRgt");
cpRgt.style.height = window.innerHeight - 60+"px";
if(cpRgt.style.right == "0px"){
cpRgt.style.right = "300px";
} else {
cpRgt.style.right = "0px";
}
}
}//]]>
</script>
您可以使用jsfiddle选项更改执行类型,或者如果在代码中存在相同的问题,则可以通过将函数应用于全局作用域来解决问题,如下所示。基本上要访问该功能,就需要能够看到该功能。
<script type="text/javascript">//<![CDATA[
window.onload=function(){
window.toggleCPRgt = function(){
alert('here');
//...
}//]]>
</script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句