收录日期:2020/10/28 13:04:36 时间:2016/07/04 19:37:50 标签:JavaScript
我问个问题
就是关于鼠标经过图片变化的
一个框架,左框架都是图标按钮,鼠标经过的时候会变换图片,鼠标一离开就会还原回来。可是如果我点击了某个按钮,就应该一直都是变换了颜色的呀,现在的问题是,不管我点没点那个图片,只要鼠标一离开,图片都会变回之前的了,有什么办法能解决呢 。我知道是因为使用了onMouseOver和onMouseOut,可是该如何改呢。
点击之后还允许指向离开进行切换么?
总的来说,就是设置个标记,或者变量来记录哪个已经被点击过了,就好了


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>无标题 1</title>
</head>

<body>
<img src="http://profile.csdn.net/CocoPig/picture/2.jpg" name="info" alt="test"/>
<img src="http://profile.csdn.net/CocoPig/picture/2.jpg" name="info" alt="test"/>
<img src="http://profile.csdn.net/CocoPig/picture/2.jpg" name="info" alt="test"/>
<img src="http://profile.csdn.net/CocoPig/picture/2.jpg" name="info" alt="test"/>
<script type="text/javascript">
var imgs = document.getElementsByName("info");
var sel = null;
for(var i=0;i<imgs.length;i++)
{
imgs[i].onmouseover = function()
{
this.src = "http://profile.csdn.net/varlj/picture/2.jpg";
}

imgs[i].onmouseout = function()
{
if(sel!=this)
this.src = "http://profile.csdn.net/CocoPig/picture/2.jpg";
}
imgs[i].onclick= function()
{
if(sel==this)
return;

if(sel!=null)
{
sel.src = "http://profile.csdn.net/CocoPig/picture/2.jpg";
}
this.src = "http://profile.csdn.net/varlj/picture/2.jpg";
sel = this;
}

}
</script>
</body>

</html>

就是在点击之后不需要调用onMouseOut了啊,但是该怎么做
那就简单了,在onClick的事件中加上:

xxxx.onmouseout = null;
LS正解
你可以使用一个开关变量来控制啊!这是最简单的方法了!
添加一个onclick事件,同时再添加一个全局变量
var key=0

在onclick事件后,将key=1,
并且在onmouseover 和onMouseOut事件处理函数中,都先判断一下key的值,如果key=1时表明已经被点击过,这时就不应该再变换图片了
引用 4 楼 dh20156 的回复:
那就简单了,在onClick的事件中加上: 

xxxx.onmouseout = null;

python安装的问题 急!!编写一个图形用户界面的应用程序,如何使运动的图片经鼠标点击后停止,再点击又重新运动? php怎样才能得到12位的唯一字串(不可逆) 请问gcc有哪些经典版本? 请教C语言文件操作问题 【南非世界杯】斯洛伐克 VS 巴拉圭 火热进行中... 类继承的一些问题? 龙芯吹了10年了,你看到龙芯了吗??? 用DirectShow同时在多个屏幕上显示 请大家帮忙看看我使用的这个hql查询对吗 VC 如何定位到文件所在的文件夹并且,文件是被选中的? 这样的正则表达式如何写呢? 出现这时为什么,请大侠指教,定重谢 怎样在静态文本框中绘制波形啊? 请大家帮我分析一道选择题(在线等) 求助帖 Multisim出错 请指教 !!!!!!!!!! 我想做个网络应用 ASP.NET(C#)求教页面间值的传递 复杂公式 如何计算 程序提示溢出 没辙了 我的时间格式是2010年06月19日,varchar类型。如何分割分别取得年月日呢? 图片上传 如何得到EXE文件的图标呢? 画图程序中 色调 饱和度 亮度 和RGB中 的R G B 是什么关系呢? 难道VS2010编写出来文件都要.NET包?? 两个程序题。最好用C++写! 图形处理 如何修改文件的修改时间?? 关于各位大哥帮帮忙 在线等待求助:关于Frame界面 C#与数据库连接