【发布时间】:2011-06-24 11:29:52
【问题描述】:
当谈到 jQuery 时,我仍然是个菜鸟,我真的很想弄清楚这一点,我希望有 Javascript 经验的人可以为我指明正确的方向。
我有一个悬停函数,涉及一个 div 隐藏/显示事件,该事件由悬停 li 类触发,该类涉及一个带有动画的单独的 mouseenter/mouseleave 函数。
jQuery:
//Right display div swap on hover
$('.home, .about, .contact, .services').hover(function(){
$('#display_'+$(this).attr('class')+':hidden').fadeIn(400);
}, function() {
$('#display_'+$(this).attr('class')).hide()
});
//Slide left li classes on mouseenter
var sections = ['home','about','contact','services'];
$.each(sections, function(i,val) {
var main = $('.' + val);
var icon = $('#icon_' + val);
main.mouseenter(function(){
main.stop().animate({left:'115px'}, 600)
icon.filter(':hidden').fadeIn(600);
}).mouseleave(function(){
main.stop().animate({left:'65'}, 600)
icon.hide();
});
});
//Hidden icons
$('#icon_home').hide();
$('#icon_about').hide();
$('#icon_contact').hide();
$('#icon_services').hide();
});
我正在尝试在//Slide left li classes on mouesenter 在这些条件下触发 mouseleave 动画:
- 如果:当悬停功能被触发时 悬停在任何其他 3 li 课程
- else: 与 mouseenter 相同的事件 功能
因此,如果$('.home') 悬停,它将向左滑动,并且右侧的相应 div 将显示并保持显示,并且无论鼠标的意图如何,都以 li 类动画左侧显示,但是,如果在 $('.home') 悬停之后,相应的 div出现时,用户悬停在上面说 $('.about') ,&('.home') 将滑回它的默认 CSS 位置,同时隐藏它的相应 div 并同时触发 $('.about') 动画以及显示 $('.about') li 类的相应 div 等等。这应该是连续的(如循环)。
有什么想法吗?
html:
<div id="right_nav">
<div id='display_home'><img src="images/gallery/home.png" width="605" height="300" /></div>
<div id='display_about'><img src="images/gallery/about us.png" width="605" height="300" /></div>
<div id='display_contact'><img src="images/gallery/Contact Us.png" width="605" height="300" /></div>
<div id='display_services'><img src="images/gallery/Services.png" width="605" height="300" /></div>
</div>
<div id="left_nav">
<div id="divider_home"><img src="divider.png" width="190" height="2" /></div>
<div id="divider_about"><img src="divider.png" width="190" height="2" /></div>
<div id="divider_contact"><img src="divider.png" width="190" height="2" /></div>
<div id="divider_services"><img src="divider.png" width="190" height="2" /></div>
<div id="icon_home"><img src="Icons/home.png" width="60" height="60" /></div>
<div id="icon_about"><img src="Icons/about.png" width="60" height="60" /></div>
<div id="icon_contact"><img src="Icons/contact.png" width="60" height="60" /></div>
<div id="icon_services"><img src="Icons/services.png" width="60" height="60" /></div>
<div id="thumb">
<ul>
<li class="home"><img src="images/gallery/thumb/home.png" width="82" height="23" /></li>
<li class="about"><img src="images/gallery/thumb/about us.png" width="130" height="24" /></li>
<li class="contact"><img src="images/gallery/thumb/Contact Us.png" width="150" height="23" /></li>
<li class="services"><img src="images/gallery/thumb/Services.png" width="113" height="24" /></li>
</ul>
</div>
建议将不胜感激!
谢谢
【问题讨论】:
标签: jquery hover if-statement mouseenter