求搭救啊~ 大神们 我的js代码有问题 求修改

ngyouxi123 2012-11-22 10:10:11

这段代码 是从版主哪里得到了 然后我自己修改成这样了 但是不知道为什么mou函数没有被执行到
分不多 求高手帮帮忙 解答一下 谢谢了


<a onmouseOver="mouse(event,1)" onmouseout="mouse(event,1)">a</a>
<script type="text/javascript">
function mouse(e,r){
if (e.type == 'mouseover'){var a=0;
function move(){a++;
mou(e.type,r);//这里不是有循环调用到mou函数了吗 为什么下面的mou()没显示
if(a==5){clearInterval(time);}}
window.setInterval(move,2000);}
else
alert("鼠标移出");
}
function mou(e,r){//这里不是有了吗 为什么不执行
if(r==5){
alert("事件已经触发"+e+r);}
}
</script>
...全文
128 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ngyouxi123 2012-11-23
  • 打赏
  • 举报
回复
谢谢了 谢谢2为大神
张运领 2012-11-22
  • 打赏
  • 举报
回复
<script type="text/javascript">      
function mouse(e,r){ 
	if(e.type  == 'mouseover'){
		var a=0;
		alert("in");
		function move(){
			a++;
			mou(e.type,a);//这里
			//这里不是有循环调用到mou函数了吗 为什么下面的mou()没显示
			if(a==5){
				clearInterval(time);
			}
		}
		var time = window.setInterval(move,2000);//这里
	}else{
		alert("out");
	}
}
	function mou(e,r){
	//这里不是有了吗 为什么不执行
	alert("mou="+r);
		if(r==5){
			alert("事件已经触发"+e+r);
		}
	}</script>
不知道怎么改字体颜色,唉。。。
张运领 2012-11-22
  • 打赏
  • 举报
回复
<script type="text/javascript">      
function mouse(e,r){ 
	if(e.type  == 'mouseover'){
		var a=0;
		alert("in");
		function move(){
			a++;
			mou(e.type,a);
			//这里不是有循环调用到mou函数了吗 为什么下面的mou()没显示
			if(a==5){
				clearInterval(time);
			}
		}
		var time = window.setInterval(move,2000);
	}else{
		alert("out");
	}
}
	function mou(e,r){
	//这里不是有了吗 为什么不执行
	alert("mou="+r);
		if(r==5){
			alert("事件已经触发"+e+r);
		}
	}</script>
张运领 2012-11-22
  • 打赏
  • 举报
回复
<script type="text/javascript">      
function mouse(e,r){ 
	if(e.type  == 'mouseover'){
		var a=0;
		alert("in");
		function move(){
			a++;
			mou(e.type,a);
			//这里不是有循环调用到mou函数了吗 为什么下面的mou()没显示
			if(a==5){
				clearInterval(time);
			}
		}
		var time = window.setInterval(move,2000);
	}else{
		alert("out");
	}
}
	function mou(e,r){
	//这里不是有了吗 为什么不执行
	alert("mou="+r);
		if(r==5){
			alert("事件已经触发"+e+r);
		}
	}</script>
不好意思,之前看错了,没有少括号。 注意一下红颜色字体,这样改动,是不是你要的结果。
  • 打赏
  • 举报
回复
function mouse(e,r){ 
  if (e.type  == 'mouseover'){
    var a=0,type=e.type;//要保存事件的type属性,不能在计时器中传递事件对象,事件对象只能用再当前发生的场景中,如果要使用事件的相关属性,要保存起来,而不是直接传递事件变量
    function move(){
      a++;
      mou(type,a);//这里应该是传递a,不是传递r吧。。。。
      if(a==5){clearInterval(time);}//time没有申明,出错 了
    }
    time=window.setInterval(move,2000);///这样,得到time变量
  }   
 else
   alert("鼠标移出");
}
function mou(e,r){//r是mouse传递的参数,为1,1不等于5当然不执行alert事件了,应该是你传递错了吧,应该是传递a

  if(r==5){alert("事件已经触发"+e+r);}
}
  • 打赏
  • 举报
回复
<a onmouseOver="mouse(event,1)" onmouseout="mouse(event,1)">a</a>  
<script type="text/javascript">      
function mouse(e,r){ 
  if (e.type  == 'mouseover'){
    var a=0,type=e.type;//要保存事件的type属性,不能在计时器中传递事件对象,事件对象只能用再当前发

生的场景中,如果要使用事件的相关属性,要保存起来,而不是直接传递事件变量
    function move(){
      a++;
      mou(type,a);//这里应该是传递a,不是传递r吧。。。。
      if(a==5){clearInterval(time);}//time没有申明,出错 了
    }
    time=window.setInterval(move,2000);///这样,得到time变量
  }   
 else
   alert("鼠标移出");
}
function mou(e,r){//r是mouse传递的参数,为1,1不等于5当然不执行alert事件了,应该是你传递错了吧,

应该是传递a

  if(r==5){alert("事件已经触发"+e+r);}
}
</script>
张运领 2012-11-22
  • 打赏
  • 举报
回复
你把哪个大括号给漏掉了?如果你代码也是这样的话,能对才怪呢。。。检查一下,丢掉的一个大括号是在哪丢的。

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧