0

特定のクラスの前のクラスと次のクラスをフェードアウトしたいのですが、コードが機能しないのはなぜですか? あなたは解決策を知っていますか?

注: #homebut の前が #aboutus であり、#aboutus の次が #homebut であることを指定するにはどうすればよいですか?

助けてくれてありがとう!

これは私のhtmlコードです:

<body>
    <div class="menuEintraege" id="2">
      <li class="current"><a href="home.html" id="homebut">home</a></li>
        <li><a href="apps.html"id="appsbut">apps</a></li>
        <li><a href="hedone.html" id="hedonebut">hedone</a></li>
        <li><a href="contact.html" id="contactbut">contact</a></li>
        <li><a href="aboutus.html" id="aboutusbut">about us</a></li>
    </div>
</body>

そして、これまで私のjavascript:

$("a").click(function() {
    $(this).prev("li").fadeOut("fast");
    $(this).next("li").fadeOut("fast");
}
4

2 に答える 2

1

私の最初の考えは、次のようになります。

$('li a:first').addClass('active');

$('button').click(function(e) {
    e.preventDefault();
    var that = this,
        $that = $(that),
        aEls = $('.menuEintraege a'),
        aActive = $('.menuEintraege a.active')
        .closest('li')
        .index();
    if (that.id == 'pre') {
        $('.active').removeClass('active');
        var pre = aEls.eq(aActive - 1);
        var prev = pre.length ? pre : aEls.last();
        prev.addClass('active');
    }
    else if (that.id == 'nxt') {
        $('.active').removeClass('active');
        var pre = aEls.eq(aActive + 1);
        var prev = pre.length ? pre : aEls.first();
        prev.addClass('active');
    }
});​

JSフィドルデモ

于 2012-09-06T11:29:40.757 に答える
1
$("a").click(function() {
    $(this).parent().prev("li").fadeOut("fast");
    $(this).parent().next("li").fadeOut("fast");
}
于 2012-09-06T11:17:29.270 に答える