2011-05-30 97 views
0

我想在鼠标悬停在图像上时将“imgTag.style.border='5px solid #FF00FF'”更改为黑色。 这是我的JavaScript:通过鼠标改变颜色

javascript:for(i=0;i<document.getElementsByTagName('img').length;i++) 
    { 
    var imgTag=document.getElementsByTagName('img')[i]; 
    imgTag.style.border='5px solid #FF00FF'; 
    imgTag.title=''; 
    imgTag.onclick=function() 
      { 
     return !window.open('http://www.example.com/#/'+this.src); 
      } 
     } 
    void(0) 

怎么办? 感谢 弗兰克

+1

CSS托马斯的建议是干净的解决方案。顺便说一句,如果你想使用图像进行导航,你应该将它包装在一个''元素中(并且从''执行导航),以便键盘用户可以访问它。 – nnnnnn 2011-05-30 01:50:16

回答

1

你需要处理程序绑定到mouseovermouseout事件来改变图像的边框颜色:

var imgs = document.getElementsByTagName('img'); 
for(var i = 0; i < imgs.length; ++i) { 
    imgs[i].onmouseover = function() { 
     this.style.borderColor = '#000'; 
    }; 
    imgs[i].onmouseout = function() { 
     this.style.borderColor = '#f0f'; 
    }; 
} 

例如:http://jsfiddle.net/bNk4Y/

0

不知道这有什么错你的代码,但如果我正确地理解你的问题,这应该这样做: HTML:

<img src="" > 
<img src=""> 
... 

JS:

var imgs = document.getElementsByTagName("img"); 
for(i=0;i<imgs.length;i++) 
{ 
    imgs[i].onmouseover = function() {this.style.border="1px red solid";}; 
} 

但是,请注意,这也可以通过CSS轻松实现,这是一种更好的做法 - 用于禁用JS的用户等。

img:hover { 
border: 1px red solid; 
} 
+0

非常感谢! – Frank 2011-05-30 14:54:05