0

子項目があるかどうかに基づいて、ホバー時にいくつかのメニュー項目に css を設定する必要があります。

"Home"    "Manage Customer"          "Manage Employee"
                "Customer List"              "Employee List"
                "Customer Detail"            "Employee Detail"

メニュー項目の例を上に示します。「ホーム」、「顧客リスト」、「顧客の詳細」、「従業員のリスト」、「従業員の詳細」に 1 つの CSS をホバーさせたい (子がないため)

および「Manage Customer」、「Manage Employee」には異なる css が必要です。

どうすればそれを達成できますか。

コード

protected void Page_Load(object sender, EventArgs e)
        {
            MenuItem miHome = new MenuItem("Home", "0");
            miHome.NavigateUrl = "http://www.google.com";

            MenuItem miManageCustomer = new MenuItem("Manage Customer", "1");
            miManageCustomer.NavigateUrl = "javascript:void(0)";

            MenuItem miCustomerList = new MenuItem("Customer List", "2");
            miCustomerList.NavigateUrl = "http://www.google.com";
            miManageCustomer.ChildItems.Add(miCustomerList);

            MenuItem miCustomerDetail = new MenuItem("Customer Detail", "3");
            miCustomerDetail.NavigateUrl = "http://www.google.com";
            miManageCustomer.ChildItems.Add(miCustomerDetail);

            MenuItem miManageEmployee = new MenuItem("Manage Employee", "4");
            miManageEmployee.NavigateUrl = "javascript:void(0)";

            MenuItem miEmployeeList = new MenuItem("Employee List", "5");
            miEmployeeList.NavigateUrl = "http://www.google.com";
            miManageEmployee.ChildItems.Add(miEmployeeList);

            MenuItem miEmployeeDetail = new MenuItem("Employee Detail", "6");
            miEmployeeDetail.NavigateUrl = "http://www.google.com";
            miManageEmployee.ChildItems.Add(miEmployeeDetail);

            menu1.Items.Add(miHome);
            menu1.Items.Add(miManageCustomer);
            menu1.Items.Add(miManageEmployee);
        }
4

2 に答える 2

0

cssClassプロパティをMenuItemクラスに追加し(まだ存在しない場合)、メニューにデータを入力するときに設定できます。次に、メニュー項目をhtmlにレンダリングするときに、そのcssClassプロパティを使用する必要があります。

さて、MenuItemクラスがどのように見えるかわからないので、これはかなり一般的なソリューションです。

于 2010-09-16T08:29:20.773 に答える
0

次のような HTML 構造を想定します。

<ul id="menu">
  <li><a href="#">Home</a></li>
  <li><a href="#">Manage Customer</a>
      <ul>
        <li><a href="#">Customer List</a></li>
        <li><a href="#">Customer Detail</a></li>
      </ul>
  </li>
</ul>

次のように、実際にセレクター.notと一緒に関数を使用できます。:only-child

$('#menu > li > a').not(':only-child')

http://jsfiddle.net/KWHf6/を参照してください。ただし、スタイルを設定するためだけにこれを行う場合はli、Javascript の依存関係を削除するために、サブメニューを持つそれぞれにクラスを追加することをお勧めします。

于 2010-09-16T07:09:57.877 に答える