Javascript 调试脚本$(此)时出现问题。查找不是函数
调试此脚本时遇到问题,最初的问题是“$()。ready不是函数”,因此我包装了脚本的这一部分:Javascript 调试脚本$(此)时出现问题。查找不是函数,javascript,jquery,Javascript,Jquery,调试此脚本时遇到问题,最初的问题是“$()。ready不是函数”,因此我包装了脚本的这一部分: $(document).ready(function() { $('#jsddm > li').bind('mouseover', jsddm_open); $('#jsddm > li').bind('mouseout', jsddm_timer);}); document.onclick = jsddm_close; 像这样 ( function($) { $
$(document).ready(function()
{ $('#jsddm > li').bind('mouseover', jsddm_open);
$('#jsddm > li').bind('mouseout', jsddm_timer);});
document.onclick = jsddm_close;
像这样
( function($) {
$(document).ready( function() {
$('#menu-main-nav > li').bind('mouseover', jsddm_open);
$('#menu-main-nav > li').bind('mouseout', jsddm_timer);
});
document.onclick = jsddm_close;
} ) ( jQuery );
但是我现在得到了$(this).find不是“jsddm_close();”行上的函数-感谢您的帮助,我相信它很简单。全文如下:
<script type="text/javascript">
var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;
function jsddm_open()
{ jsddm_canceltimer();
jsddm_close();
ddmenuitem = $(this).find('ul').eq(0).css('visibility', 'visible');}
function jsddm_close()
{ if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}
function jsddm_timer()
{ closetimer = window.setTimeout(jsddm_close, timeout);}
function jsddm_canceltimer()
{ if(closetimer)
{ window.clearTimeout(closetimer);
closetimer = null;}}
( function($) {
$(document).ready( function() {
$('#menu-main-nav > li').bind('mouseover', jsddm_open);
$('#menu-main-nav > li').bind('mouseout', jsddm_timer);
});
document.onclick = jsddm_close;
} ) ( jQuery );
</script>
var超时=500;
var closetimer=0;
var ddmenuitem=0;
函数jsddm_open()
{jsddm_canceltimer();
jsddm_close();
ddmenuitem=$(this.find('ul').eq(0.css('visibility','visible');}
函数jsddm_close()
{if(ddmenuitem)ddmenuitem.css('visibility','hidden');}
函数jsddm_timer()
{closetimer=window.setTimeout(jsddm_close,timeout);}
函数jsddm_canceltimer()
{if(关闭计时器)
{window.clearTimeout(closetimer);
closetimer=null;}}
(函数($){
$(文档).ready(函数(){
$('#menu main nav>li').bind('mouseover',jsddm_open);
$('#menu main nav>li').bind('mouseout',jsddm_计时器);
});
document.onclick=jsddm\u close;
})(jQuery);
你应该在一个匿名函数中包装e'erbody
<script type="text/javascript">
(function($) {
var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;
function jsddm_open() {
jsddm_canceltimer();
jsddm_close();
ddmenuitem = $(this).find('ul').eq(0).css('visibility', 'visible');
}
function jsddm_close() {
if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');
}
function jsddm_timer() {
closetimer = window.setTimeout(jsddm_close, timeout);
}
function jsddm_canceltimer() {
if (closetimer) {
window.clearTimeout(closetimer);
closetimer = null;
}
}
$(document).ready( function() {
$('#menu-main-nav > li').bind('mouseover', jsddm_open);
$('#menu-main-nav > li').bind('mouseout', jsddm_timer);
});
document.onclick = jsddm_close;
})(jQuery)
</script>
(函数($){
var超时=500;
var closetimer=0;
var ddmenuitem=0;
函数jsddm_open(){
jsddm_canceltimer();
jsddm_close();
ddmenuitem=$(this).find('ul').eq(0).css('visibility','visible');
}
函数jsddm_close(){
if(ddmenuitem)ddmenuitem.css(‘可见性’、‘隐藏’);
}
函数jsddm_timer(){
closetimer=window.setTimeout(jsddm_close,timeout);
}
函数jsddm_canceltimer(){
如果(关闭计时器){
清除超时(关闭计时器);
closetimer=null;
}
}
$(文档).ready(函数(){
$('#menu main nav>li').bind('mouseover',jsddm_open);
$('#menu main nav>li').bind('mouseout',jsddm_计时器);
});
document.onclick=jsddm\u close;
})(jQuery)
你应该在一个匿名函数中包装e'erbody
<script type="text/javascript">
(function($) {
var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;
function jsddm_open() {
jsddm_canceltimer();
jsddm_close();
ddmenuitem = $(this).find('ul').eq(0).css('visibility', 'visible');
}
function jsddm_close() {
if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');
}
function jsddm_timer() {
closetimer = window.setTimeout(jsddm_close, timeout);
}
function jsddm_canceltimer() {
if (closetimer) {
window.clearTimeout(closetimer);
closetimer = null;
}
}
$(document).ready( function() {
$('#menu-main-nav > li').bind('mouseover', jsddm_open);
$('#menu-main-nav > li').bind('mouseout', jsddm_timer);
});
document.onclick = jsddm_close;
})(jQuery)
</script>
(函数($){
var超时=500;
var closetimer=0;
var ddmenuitem=0;
函数jsddm_open(){
jsddm_canceltimer();
jsddm_close();
ddmenuitem=$(this).find('ul').eq(0).css('visibility','visible');
}
函数jsddm_close(){
if(ddmenuitem)ddmenuitem.css(‘可见性’、‘隐藏’);
}
函数jsddm_timer(){
closetimer=window.setTimeout(jsddm_close,timeout);
}
函数jsddm_canceltimer(){
如果(关闭计时器){
清除超时(关闭计时器);
closetimer=null;
}
}
$(文档).ready(函数(){
$('#menu main nav>li').bind('mouseover',jsddm_open);
$('#menu main nav>li').bind('mouseout',jsddm_计时器);
});
document.onclick=jsddm\u close;
})(jQuery)
为什么不将所有javascript封装到该匿名函数中?这样,您就可以通过$
保证对jQuery
的引用,而且不会碰撞全局对象。您在Firebug中看到了什么?同样的错误?有一个问题是js代码被jQuery弄乱了。更改document.onclick=jsddm\u关闭
到$(文档)。单击(函数(){jsddm_close(this);})
并在jsddm_close
中接收这个
作为参数,但是@kradmin虽然我同意你的观点,但是“jsddm_close”函数本身并不是指“$(this)”…我仍在试图找到第74行,为什么你不将所有的javascript封装到那个匿名函数中呢?这样,您就可以通过$
保证对jQuery
的引用,而且不会碰撞全局对象。您在Firebug中看到了什么?同样的错误?有一个问题是js代码被jQuery弄乱了。更改document.onclick=jsddm\u关闭
到$(文档)。单击(函数(){jsddm_close(this);})
并在jsddm_close
中接收这个
作为参数,但是@kradmin虽然我同意你的观点,“jsddm_close”函数本身并不是指“$(this)”…我仍在试图找到第74行,这很好Chris,谢谢你-原谅n00b问题,但为什么我的解决方案不正确?这很好Chris,谢谢-请原谅n00b问题,但为什么我的解决方案不正确?