<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>图像交换</title>
<script language="javascript">
var circleoff;
var circleon;
if(document.images){
circleoff=new Image(50,50);
circleoff.src="one.PNG";
circleon=new Image(50,50);
circleon.src="tow.PNG";
circleChange=new Image(50,50);
circleChange.src="three.PNG";
}
function On(name){
if(document.images){
document.images['img'+name].src=circleon.src;
}
}
function Off(name){
if(document.images){
document.images['img'+name].src=circleoff.src;
}
}
function onChange(name){
if(document.images){
document.images['img'+name].src=circleChange.src;
}
}
</script>
</head>
<body>
<a href="" onMouseOver="On(0)" onMouseOut="Off(0)" onclick="onChange(0)"><img style="border:none;" src="one.PNG" name="img0"></a>
</body>
</html>
one.PNG为暗图片,鼠标经过该暗图片后就变成2.PNG亮图片,单击后就还是2.PNG亮图片,但是当鼠标离开之后又变回了暗图片,怎么实现单击图片后就算鼠标离开还是亮图片!
10 个解决方案
#1
主要就是自己要去控制这个状态,比如设置个全局变量来控制:
var flag = false;
onChange()中:
flag = true;
Off()中:
if (!flag) {
if(document.images){
document.images['img'+name].src=circleoff.src;
}
}
var flag = false;
onChange()中:
flag = true;
Off()中:
if (!flag) {
if(document.images){
document.images['img'+name].src=circleoff.src;
}
}
#2
<a href="#" onclick="onChange(0)"></a>
a {
width: 100px;
height: 20px;
background-image: url("one.PNG");
display: block;
}
a:hover {
background-image: url("two.PNG");
}
a:visited {
background-image: url("two.PNG");
}
a {
width: 100px;
height: 20px;
background-image: url("one.PNG");
display: block;
}
a:hover {
background-image: url("two.PNG");
}
a:visited {
background-image: url("two.PNG");
}
#3
改变class的名称,写三种不同的样式 分别在不同的事件调用 即可实现这个效果
#4
我来出个馊主意
//加个ID
<a href="" onMouseOver="On(0)" onMouseOut="Off(0)" onclick="onChange(0)" id="aTag">
function onChange(name){
if(document.images){
document.images['img'+name].src=circleChange.src;
}
改成
function onChange(name){
if(document.images){
document.getElementById('aTag').setAttribute("onMouseOut",""); //把这个事件改成空的..
document.images['img'+name].src=circleChange.src;
}
//加个ID
<a href="" onMouseOver="On(0)" onMouseOut="Off(0)" onclick="onChange(0)" id="aTag">
function onChange(name){
if(document.images){
document.images['img'+name].src=circleChange.src;
}
改成
function onChange(name){
if(document.images){
document.getElementById('aTag').setAttribute("onMouseOut",""); //把这个事件改成空的..
document.images['img'+name].src=circleChange.src;
}
#5
好,我逐个都来试下!
#6
大家觉得我分应该怎么给?
#7
分不重要,平分也行,看谁的更优美就给谁高点也行。
重要的是你要说你最后是怎么做的,以及为什么你这么选择。
这样才是交流,大家才觉得帮你出主意是有收获的。
#8
暂时还未发现更准确的用法。不过第一次来,非常感谢你们!
#9
建议使用 jquery 你会发现原来JS 代码框架是多嘛方面!
#10
通过css写几个样式,js去控制什么时候显示那个样式。
#1
主要就是自己要去控制这个状态,比如设置个全局变量来控制:
var flag = false;
onChange()中:
flag = true;
Off()中:
if (!flag) {
if(document.images){
document.images['img'+name].src=circleoff.src;
}
}
var flag = false;
onChange()中:
flag = true;
Off()中:
if (!flag) {
if(document.images){
document.images['img'+name].src=circleoff.src;
}
}
#2
<a href="#" onclick="onChange(0)"></a>
a {
width: 100px;
height: 20px;
background-image: url("one.PNG");
display: block;
}
a:hover {
background-image: url("two.PNG");
}
a:visited {
background-image: url("two.PNG");
}
a {
width: 100px;
height: 20px;
background-image: url("one.PNG");
display: block;
}
a:hover {
background-image: url("two.PNG");
}
a:visited {
background-image: url("two.PNG");
}
#3
改变class的名称,写三种不同的样式 分别在不同的事件调用 即可实现这个效果
#4
我来出个馊主意
//加个ID
<a href="" onMouseOver="On(0)" onMouseOut="Off(0)" onclick="onChange(0)" id="aTag">
function onChange(name){
if(document.images){
document.images['img'+name].src=circleChange.src;
}
改成
function onChange(name){
if(document.images){
document.getElementById('aTag').setAttribute("onMouseOut",""); //把这个事件改成空的..
document.images['img'+name].src=circleChange.src;
}
//加个ID
<a href="" onMouseOver="On(0)" onMouseOut="Off(0)" onclick="onChange(0)" id="aTag">
function onChange(name){
if(document.images){
document.images['img'+name].src=circleChange.src;
}
改成
function onChange(name){
if(document.images){
document.getElementById('aTag').setAttribute("onMouseOut",""); //把这个事件改成空的..
document.images['img'+name].src=circleChange.src;
}
#5
好,我逐个都来试下!
#6
大家觉得我分应该怎么给?
#7
分不重要,平分也行,看谁的更优美就给谁高点也行。
重要的是你要说你最后是怎么做的,以及为什么你这么选择。
这样才是交流,大家才觉得帮你出主意是有收获的。
#8
暂时还未发现更准确的用法。不过第一次来,非常感谢你们!
#9
建议使用 jquery 你会发现原来JS 代码框架是多嘛方面!
#10
通过css写几个样式,js去控制什么时候显示那个样式。