<分区>
标签 javascript html css
<分区>
我得到了一个简单的 javascript 片段,它应该在按下 onclick 时从右侧显示一个 div!
但是在 Firebug 上我得到一个函数未定义的错误!我在左边有相同的功能,而且工作正常。这是我的代码..
<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>
关于javascript - 引用错误 : function is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28493993/