2013-05-19 3 views
1

Я пытаюсь сделать IMG исчезнуть с событием OnMouseOver, а затем я хотел бы, что IMG вновь появиться с onmouseout события Вот что я до сих пор:видимость изменения с OnMouseOver/onmouseout

<body> 
    <h1>Catch the Easter Bunny to get your egg!</h1> 
    <img src="images/rabbit.png" id="rabbit1" onmouseover="" 
     onmouseout="show(this);" alt="Catch the rabbit"/> 
    <img src="images/rabbit.png" id="rabbit2" onmouseover="hide(this);" 
     onmouseout="show(this);" alt="Catch the rabbit"/> 
    <img src="images/rabbit.png" id="rabbit3" onmouseover="hide(this)" alt="Catch the rabbit"/> 
    <img src="images/rabbit.png" id="rabbit4" onmouseover="hide(this)" alt="Catch the rabbit"/> 
    <h2 id="noeggs">No Easter Eggs for You</h2> 
    <h2 id="yousuck">Humans suck!!!</h2> 
</body> 

var count = 0; 

function hide(node) { 
    count += 1; 
    node.style.visibility = 'hidden'; 
} 

function show(node) { 
    node.style.visibility = 'visible'; 
} 
+0

Что не работает? – Jashwant

+0

[This] (http://jsfiddle.net/jashwant/BxL4m/) отлично работает – Jashwant

+0

Нет, это не так. Второе изображение мигает, и последние два изображения не отображаются после скрытия. –

ответ

0

попробовать используя непрозрачности

node.style.opacity=0; 

или

node.style.display='none'; 
0

Как вы можете ожидать, чтобы это работало? Когда вы скрываете элемент, событие onmouseout будет срабатывать сразу же после перемещения курсора мыши каким-либо образом, и элемент снова появится. Это приведет к миганию во время перемещения курсора. Это явно не то, что вы хотите. Вы должны изменить непрозрачность, а не скрывать элементы полностью.

И вы должны правильно получить элемент цели: см. Cross browser event listeners.

+0

, но когда вы скрываете элемент, он все равно занимает место на странице? Вот почему я не пошел с дисплеем: нет; – kyros

+0

Требуется. Но когда вы перемещаете мышь из этого места, вы перемещаетесь по фону элемента. Итак, событие mouseover происходит для фонового элемента, а событие mouseout происходит для скрытого элемента, потому что мышь больше не над ним. –

+0

спасибо .... Я понимаю сейчас – kyros

Смежные вопросы