admin管理员组文章数量:1326524
here is what i have, i figured it would only change red, the one span that the mouse is over, but once you put the mouse over, they all change red
<p><span onmouseover="this.style.background='red'" title="大地(Daichi) ground/earth/the solid earth/the land">(大地) <span onmouseover="this.style.background='red'" title="が(ga) indicates sentence subject / indicates possessive / but/however/still/and">(が) <span onmouseover="this.style.background='red'" title="揺れ(Yure) vibration/flickering/jolting/tremor">(揺れ) <span onmouseover="this.style.background='red'" title="始め(Hajime) beginning/start/outset/opening/ first / origin/ such as .../not to mention ...">(始め) <span onmouseover="this.style.background='red'" title="、(、) Japanese ma">(、) <span onmouseover="this.style.background='red'" title="警報(Keihou) alarm/warning">(警報) <span onmouseover="this.style.background='red'" title="が(ga) indicates sentence subject / indicates possessive / but/however/still/and">(が) <span onmouseover="this.style.background='red'" title="鳴り(Nari) ringing/sound">(鳴り </span>)(<span onmouseover="this.style.background='red'" title="響い(Hibii) no dictionary result, likely a conjigated verb">響い</span>) <span onmouseover="this.style.background='red'" title="た(ta) indicate past pleted or action/ indicates light imperative">(た</span>)</p>
how do i make each span change on its own mouseover event?
here is what i have, i figured it would only change red, the one span that the mouse is over, but once you put the mouse over, they all change red
<p><span onmouseover="this.style.background='red'" title="大地(Daichi) ground/earth/the solid earth/the land">(大地) <span onmouseover="this.style.background='red'" title="が(ga) indicates sentence subject / indicates possessive / but/however/still/and">(が) <span onmouseover="this.style.background='red'" title="揺れ(Yure) vibration/flickering/jolting/tremor">(揺れ) <span onmouseover="this.style.background='red'" title="始め(Hajime) beginning/start/outset/opening/ first / origin/ such as .../not to mention ...">(始め) <span onmouseover="this.style.background='red'" title="、(、) Japanese ma">(、) <span onmouseover="this.style.background='red'" title="警報(Keihou) alarm/warning">(警報) <span onmouseover="this.style.background='red'" title="が(ga) indicates sentence subject / indicates possessive / but/however/still/and">(が) <span onmouseover="this.style.background='red'" title="鳴り(Nari) ringing/sound">(鳴り </span>)(<span onmouseover="this.style.background='red'" title="響い(Hibii) no dictionary result, likely a conjigated verb">響い</span>) <span onmouseover="this.style.background='red'" title="た(ta) indicate past pleted or action/ indicates light imperative">(た</span>)</p>
how do i make each span change on its own mouseover event?
Share Improve this question asked Dec 13, 2012 at 3:32 user1397417user1397417 7384 gold badges12 silver badges37 bronze badges 2- if you can use jQuery, this is trivial – kennypu Commented Dec 13, 2012 at 3:34
- 1 You shouldn't use javascript for this; you should use CSS instead. – Nightfirecat Commented Dec 13, 2012 at 3:45
4 Answers
Reset to default 6It is simpler and move efficient to use the CSS :hover pseudoclass for this purpose. I have prepared an example in JSFiddle:
<style>
span:hover {
background: yellow;
}
</style>
<span>I think</span>
<span>that</span>
<span>I shall</span>
<span>never</span>
<span>see</span>
<br>
<span>a poem as lovely</span>
<span>as</span>
<span>a tree</span>
Your code works, the problem is that you have a span
inside other span
and so on.
You should add one span
and then other, so when you pass the mouse over the first span
it looks like all gets red because they are inside.
<p>
<span onmouseover="this.style.background='red'" title="大地(Daichi) ground/earth/the solid earth/the land">(大地) </span>
<span onmouseover="this.style.background='red'" title="大地(Daichi) ground/earth/the solid earth/the land">(大地) </span>
</p>
demo
You should be able to do this with CSS with the :hover attribute although if you really want to use javascript simple attach an event the the individual element. here is a very simple example.
simply make your span elements use something like
var spans = document.getElementsByTagName('span');
to select them and loop through them applying the event.
here is the example: http://jsfiddle/tate/ztgRL/9/
See this code... (assemble with your code)
<p>
<span onmouseover="this.style.background='green'" title="??(Daichi) ground/earth/the solid earth/the land">
(??)</span>
<span onmouseover="this.style.background='red'" title="?(ga) indicates sentence subject / indicates possessive / but/however/still/and">
(?)</span>
<span onmouseover="this.style.background='red'" title="??(Yure) vibration/flickering/jolting/tremor">
(??)</span>
<span onmouseover="this.style.background='red'" title="??(Hajime) beginning/start/outset/opening/ first / origin/ such as .../not to mention ...">
(??)</span>
<span onmouseover="this.style.background='red'" title="?(?) Japanese ma">
(?)</span>
<span onmouseover="this.style.background='red'" title="??(Keihou) alarm/warning">
(??)</span>
<span onmouseover="this.style.background='red'" title="?(ga) indicates sentence subject / indicates possessive / but/however/still/and">
(?)</span>
<span onmouseover="this.style.background='red'" title="??(Nari) ringing/sound">
(??)</span>
</p>
本文标签:
版权声明:本文标题:javascript - how do i change the color of a span tag on mouse over, but only the span tag that the mouse is over? - Stack Overfl 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742197190a2431293.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论