0

以下のコードでは、メニューを実行しています。

私がやろうとしているのは、ユーザーがメニュー項目をクリックしたときに、そのメニュー項目クラスを「現在」に変更する必要があり、「現在」のメニュー項目を「メニュー」に変更する必要があるということです。

しかし、私は物事を機能させることができません。

わかりました...現在はメニューに変更されます。色でわかります。しかし、「現在」から「メニュー」に変更されたものをクリックすると、アラートは表示されません。

また、クリックされたデータ フィード名に基づいて、メニュー クラスを現在のクラスに設定するにはどうすればよいですか? これがどのようにできるか分かりますか?

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>PHP, jQuery search demo</title>
<style type="text/css">
.current{
padding:5px;
border:1px solid #000000;
background-color:white;
}
.menu{
padding:5px;
border:1px solid #000000;
background-color:red;
}
</style>

<script type="text/javascript" src="http://localhost/dev/ajax/jquery.js"></script>
<script type="text/javascript">
$(function() {

    $(".menunavi .menu").click(function() {

        alert ($(this).attr("data-feed"));
//Set the span with class="current" to class="menu"
        $(".menunavi .current").addClass("menu");
//Set the span with class="menu" to class="current" were data-feed = 'whatever was clicked'
        $(".menunavi .menu").addClass("current");

    });
});
</script>

</head>
<body>
        <div class="navigation clearfix">
            <div class="menunavi">
                    <span class="current" data-feed="photos">Photos</span>
                    <span class="menu" data-feed="watches">Watches</span>
                    <span class="menu" data-feed="audio">Audio</span>
                    <span class="menu" data-feed="sports">Sports</span>
                    <span class="menu" data-feed="drinks">Drinks</span>
                    <span class="menu" data-feed="furniture">Furniture</span>
                    <span class="menu" data-feed="computers">Computers</span>
                    <span class="menu" data-feed="stationary">Stationary</span>
                    <span class="menu" data-feed="phones">Phone</span>
                    <span class="menu" data-feed="cosmetics">Cosmetics</span>
            </div>
        </div>
</body>
</html>
4

1 に答える 1

3
$('.menu,.current').click(function(){
   $(this).siblings().removeClass('current').addClass('menu');
   $(this).removeClass('menu').addClass('current');    
});​

ここにjsfiddleがありますhttp://jsfiddle.net/N4Gec/2/

于 2012-12-07T15:16:53.113 に答える