2013-07-11 143 views
0

这些按钮是顶部的六个方形图像。悬停图像自动悬停?

http://wthdesign.net/test/rollover/services.html

代码我使用:

$(document).ready(function() { 

$('.originalImg,rollOverImg').hover(

    function() { 
    $(this).next().stop().animate({left: '0'}, 500, function(){}); 
    console.log("in"); 
    }, 
    function() { 
    $(this).next().stop().animate({left: '90px'}, 500, function(){}); 
    console.log("out"); 
    } 

); 

我的html:

<div class="slicesBoxesTop"><img class="originalImg" src="images/home.png" /><img class="rollOverImg" src="http://makingdesign.com.au/images/mickslice1.gif" width="90" height="90" /></div> 
<div class="slicesBoxTop2"><img class="originalImg" src="images/home.png" /><img class="rollOverImg" src="http://makingdesign.com.au/images/paulslice2.gif" width="90" height="90" /></div> 
<div class="sliceTop3"><img class="originalImg" src="images/home.png" /><img class="rollOverImg" src="http://makingdesign.com.au/images/mickslice2.gif" width="90" height="90" /></div> 
<div class="sliceTop4"><img class="originalImg" src="images/home.png" /><img class="rollOverImg" src="http://makingdesign.com.au/images/paulslice3.gif" width="90" height="90" /></div> 
<div class="sliceTopbox5"><img class="originalImg" src="images/home.png" /><img class="rollOverImg" src="http://makingdesign.com.au/images/mickslice3.gif" width="92" height="92" /></div> 

出于某种原因,在盘旋的图像自动卷展栏,即使我的光标仍。

回答

1

问题:你有悬停两个选择... $('.originalImg,.rollOverImg')所以,当你移动你的鼠标来rollOverImg ...的origninalImg鼠标离开函数被调用。 。

解决方案,

名称都与你同一类和使用悬停整个<div>。不进行测试,但应该工作的div。

试试这个

HTML

<div class="slicesBoxesTop divClass"><img class="originalImg".. 
<div class="slicesBoxTop2 divClass"><img class="originalImg" ... 
..so on 

jQuery的

$(document).ready(function() { 

$('.divClass').hover(
    function() { 
     $(this).find('.rollOverImg').stop().animate({left: '0'}, 500, function(){}); 
    console.log("in"); 
    }, 
    function() { 
    $(this).find('.rollOverImg').stop().animate({left: '90px'}, 500, function(){}); 
    console.log("out"); 
    } 

); 
+0

谢谢完美的工作 –

+0

欢迎..很高兴它帮助.. :) – bipen

1

首先,你的选择是错误的:

$('.originalImg,rollOverImg').hover

应该是:

$('.originalImg,.rollOverImg').hover

其次,你的 'rollOverImg' 重叠 'originalImg' 当你调用动画引起“将鼠标悬停事件的一部分鼠标移出。你希望把不同的处理器上原来的&鼠标经过图像:

$(".originalImg").mouseenter(function() { 
    $(this).next().stop().animate({left: '0'}, 500, function(){}); 
}); 
$(".rollOverImg").mouseleave(function() { 
    $(this).prev().stop().animate({left: '90px'}, 500, function(){}); 
}); 
+0

图像将在滑入但是当我鼠标移出它不回到原来的位置... –