关于setTimeout中函数未定义的问题 本帖最后由 buqibushe 于 2011-03-12 10:03:49 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把 $(this) 改成全局变量 楼主试试http://jsfiddle.net/68KmU/ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> <script type="text/javascript" src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script> <script type="text/javascript"> var left_most = -145; var right_most = 10; var the_timeout = null; $(function(){ $('#slider_menu').mouseover(function(){ // to right clearTimeout(the_timeout); the_timeout = setTimeout("slideToRight();", 1); }).mouseout(function(){// to left clearTimeout(the_timeout); the_timeout = setTimeout("slideToLeft();", 50); //5s后开始往左移 }); }) function slideToRight() { //alert(1) $("#a").html($('#slider_menu').css("left")+"a"); var left_pos = parseInt($('#slider_menu').css("left")); //alert(left_pos); if (left_pos > right_most) { clearTimeout(the_timeout); return; } else { left_pos += 1;// 坐标加5px left_pos += 'px'; //alert(left_pos); $('#slider_menu').css("left", left_pos); the_timeout = setTimeout("slideToRight();", 1);//调用本身,继续移动,直到right_most } } function slideToLeft() { //alert(2) $("#b").html($('#slider_menu').css("left")+"b"); var left_pos = parseInt($('#slider_menu').css("left")); //alert(left_pos); if (left_pos < left_most) { clearTimeout(the_timeout); return 0; } else { left_pos -= 5; // 坐标减5px left_pos += 'px'; //alert(left_pos); $('#slider_menu').css("left", left_pos); the_timeout = setTimeout("slideToLeft();", 1);//调用本身,继续移动,直到left_most } } </script> </HEAD> <BODY> <div id="a"></div> <div id="b"></div> <div id="slider_menu" style="position:absolute;left:0;width:200;height:200;background-color:blue"></div> </BODY></HTML> 疯了,我又比以前菜了,一句话都搞不定了。。。 怎么动态设置html的canvas元素的尺寸? 江湖救急-快来看看这段代码错在哪里了啊 用html和Ajax来开发网站,应该几个软件???? 在javascript中怎么把"IP:10.10.170.100"的字符串中的10.10.170.100提取出来呢? webgame地图生成及应用 送分 javascript错误 请教一个关于数组的问题,高手帮忙 这种打印怎么实现 谁能帮我详细讲解一下这滚动的图片代码意思 本人新手求指教~~~~~~~~~~~~~~~~~~~ jQuery.tmpl.js
http://jsfiddle.net/68KmU/
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type="text/javascript" src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
<script type="text/javascript">
var left_most = -145;
var right_most = 10;
var the_timeout = null;
$(function(){
$('#slider_menu').mouseover(function(){ // to right
clearTimeout(the_timeout);
the_timeout = setTimeout("slideToRight();", 1);
}).mouseout(function(){// to left
clearTimeout(the_timeout);
the_timeout = setTimeout("slideToLeft();", 50); //5s后开始往左移
});
}) function slideToRight()
{
//alert(1)
$("#a").html($('#slider_menu').css("left")+"a");
var left_pos = parseInt($('#slider_menu').css("left"));
//alert(left_pos);
if (left_pos > right_most) {
clearTimeout(the_timeout);
return;
} else {
left_pos += 1;// 坐标加5px
left_pos += 'px';
//alert(left_pos);
$('#slider_menu').css("left", left_pos);
the_timeout = setTimeout("slideToRight();", 1);//调用本身,继续移动,直到right_most
}
}
function slideToLeft()
{
//alert(2)
$("#b").html($('#slider_menu').css("left")+"b");
var left_pos = parseInt($('#slider_menu').css("left"));
//alert(left_pos);
if (left_pos < left_most) {
clearTimeout(the_timeout);
return 0;
} else {
left_pos -= 5; // 坐标减5px
left_pos += 'px';
//alert(left_pos);
$('#slider_menu').css("left", left_pos);
the_timeout = setTimeout("slideToLeft();", 1);//调用本身,继续移动,直到left_most }
}
</script>
</HEAD> <BODY>
<div id="a"></div>
<div id="b"></div>
<div id="slider_menu" style="position:absolute;left:0;width:200;height:200;background-color:blue"></div>
</BODY>
</HTML>