javascript - 引用错误 : function is not defined

标签 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/

上一篇:html - 如何控制工具提示在谷歌图表上的行为

下一篇:css - 如何自定义使用 simple_form gem 创建的设计登录和注册表单?

相关文章:

javascript - 文字转语音在 Android WebView 和 Firefox 中不起作用

c# - WebBrowser 控件未响应 InvokeMember ("click")

javascript - 单击按钮运行 Javascript

html - 图像悬停功能(css)找不到图像

html - CSS 白间距问题

html - 如何设置父 div 宽度以匹配 a/img?

带有内联 SVG 的 CSS 生长动画

javascript - emmet 脚本 <脚本类型 ="text/javascript">

MVC .net 上使用 Ajax 调用 Controller 函数的 Javascript 函数不起作用

javascript - 如何制作一个触发脚本的按钮?