2012-01-26 87 views
0

我遇到一些问题,试图使悬停和活动状态在我的网站上工作。我是jQuery的新手,我发现它很困难。 这是我目前拥有的代码:我希望它像这个例子的工作jQuery悬停和活动状态

$(document).ready(function(){ 
    $('.st_tab').hover(function(){ 
    $(this).stop().animate({opacity : '0', left: '+=50',}, 100); 
    }, function(){$(this).stop().animate({'opacity' : '1'}, 500);}) 

}); 

http://www.queness.com/resources/html/fadein/index.html

我创建的网站的测试页面,你可以在这里看到:http://jm-ai.com/test/index.html

我使用正常,悬停和活动状态的精灵图像。

问题是,只要我将鼠标悬停在动画上消失得太快,当我点击时就没有动画。

+0

在你的例子中,当你悬停一个按钮时,你将不透明度设置为“0”......这应该回答,为什么它消失。如果点击时需要动画,则应该听“click”事件而不听“悬停”事件 – Luke

+0

看起来您正试图在链接/锚点本身设置不透明度。在你想要模仿的例子中,他们使用一个单独的div,并在该div上做动画(以及相关的背景图片),使用定位将div放置在锚点下。另外,正如Luke指出的那样,看起来你已经为了不透明度的动画而颠倒了顺序。 ()。( – kinakuta

+0

它也似乎你已经切换了功能...我试着这样运行它:$(document).ready(function(){(0)。('。st_tab')。hover( \t function() { \t \t $(本)的CSS({ '不透明':1})动画({ '不透明': '0'},500);。 \t}, \t函数(){ \t \t $( this).animate({opacity:'1',left:'+ = 50',},1000); \t}) }); – Kristian

回答

0

我会推荐mouseover mouseout。当它被点击时,让它填充一个变量true false。

$('.st_tab').mouseover(function() { //animation }).mouseout(function() { //animation }); 
+0

谢谢大家的快速回复!我使用克里斯蒂安建议的例子。它的工作正常,但问题是,只要你悬停,悬停状态出现一秒钟,然后消失,如果你悬停相同的锂悬停状态将出现3秒和然后它消失。活动状态正常。希望你们中的任何人都可以帮助我。链接到我的测试网站:http://jm-ai.com/test/index.html – user1170376

+1

乔纳斯米..感谢您的答复..我试着你的建议..它的工作,但它有同样的问题,例如Kristian建议..这就是我对你的例子所做的:$(document).ready(function(){$('。st_tab')。mouseover(function(){$(this).css({'opacity': 1)}。animate({'opacity':'0'},500);})。mouseout(function(){$(this).animate({opacity:'1'},1000);})}) ; – user1170376