如何在鼠标悬停链接时,使用jQuery使一个div滚动到另一个div?

3

很难解释,我知道...特别是因为我完全是编程概念的新手。

但是我希望在鼠标悬停在右侧链接上时,更改标志以使其与链接相对应。 我希望它可以动画显示,以便“滚动”到正确的标志,在这方面某些网站一直在做。

所有标志都包含在一个div中,并且都有自己的类(如果需要)。 链接也是如此。

我确信你们中的jQuery高手可以用几行代码解决这个问题...或者指引我去找教程。 帮帮我!

编辑:好的,虽然jAndy的提交非常有用,但我不知道如何编写它。 我这么做对吗?

<div id="nav">
    <div id="nav_left">
        <h1 class="home"><em>name</em>:home</h1>
        <h1 class="about"><em>name</em>:about</h1>
        <h1 class="folio"><em>name</em>:folio</h1>
        <h1 class="contact"><em>name</em>:contact</h1>
    </div>
    <div id="nav_right">
        <ul>
            <li><a href="#" class="lhome">Home</a></li>
            <li><a href="#" class="labout">About Me</a></li>
            <li><a href="#" class="lfolio">Portfolio</a></li>
            <li><a href="#" class="lcontact">Contact Me</a></li>
        </ul>
    </div>
</div>

确实很困难。您能提供一个展示所需行为的网站链接吗? - Darin Dimitrov
我会尝试并看看我能找到什么。 - jordsta
3个回答

4

轻松愉快的样子看起来类似于这个例子:

$('a.MyAnchorClass').bind('mouseenter', function(){
    $('div.MyDivClassWithLogos').animate({
       'scrollTop':    $('img.MyImgClass').offset().top
    }, 1500);
});

Example: http://jsbin.com/uliti3/2/edit

$(document).ready(function(){
    $('#nav_left').find('h1').each(function(i,v){
       $.data(this, 'pos', $(this).offset());
    });

    $('#nav_right').find('a').bind('mouseenter', function(e){
       var _target = '.' + e.target.className.substr(1);

       $('#nav_left').stop(true, false).animate({
           'scrollTop':  $(_target).data('pos').top
       }, 1500);
    });
});

我已经尝试实现了,但是我真的卡住了。您能否检查一下代码,看看我是否正确地进行了div操作?(我已经在上面添加了代码) - jordsta
@jordsta:我现在无法查看源代码,因为我正在用手机观看世界杯。但是看起来你没有使用我的最新示例代码(带有缓存偏移量),对吗? - jAndy
哦,不,我不是这个意思!抱歉,我以为这是第一段代码的来源... 我会试试看会发生什么。 - jordsta
我认为它没有做任何不同的事情...可能是因为它需要一个偏移量。 - jordsta
好的,我仍然在这方面遇到了巨大的麻烦。无论悬停在哪个链接上,它似乎都会滚动到div的底部。你知道出了什么问题吗? - jordsta
显示剩余2条评论

1

看看 Ariel Fleslers 的 scrollTo 插件


0

尽管jAndy的答案可能是你想要的...我想分享另一种方法,可以在这个演示中看到

我曾经回答过一个之前的问题,使用了一个菜单系统,通过点击后滚动一个div来实现。我只需将click更改为mouseover即可更新演示。


实际上,我觉得你的方法很适合。等我电脑恢复正常后,大约一两天之后,我会试一下这个方法。 - jordsta
我实际上已经把那段代码改成了一个插件,你可以在这里查看:https://github.com/Mottie/visualNav - Mottie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接