いくつかのメニュー項目のスタイルを設定できるようにするための小さなスクリプトを作成しようとしています(正しいページに送信するためのそれぞれを含むli項目を含む単純なdivを介して実行されます)が、取得していませんどこにもいないので、私は助けを必要としています。
マスターページに次のコードがあります。
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site1.master.cs" Inherits="MILLS001_PAINEL.Site1" EnableTheming="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Title</title>
<script type="text/javascript" src="../js/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="../js/menu.js"></script>
<link href="../css/reset.css" rel="Stylesheet" type="text/css" />
<link href="../css/style.css" rel="Stylesheet" type="text/css" />
<!--[if gte IE 9]>
<style type="text/css">
.gradient {
filter: none;
}
</style>
<![endif]-->
<asp:ContentPlaceHolder ID="head" runat="server"></asp:ContentPlaceHolder>
</head>
<body>
<div id="banner" class="gradient">
<div id="menu">
<ul>
<li><a href="painel_gestao.aspx">Painel de Gestão</a></li>
<li><a href="gestao_operacional.aspx">Cockpit Operacional</a></li>
</ul>
</div>
<div id="logo"></div>
</div>
<div>
<asp:ContentPlaceHolder ID="Placeholder" runat="server">
</asp:ContentPlaceHolder>
</div>
</body>
</html>
メニューはマスターページで定義されています。これで、特定のクラス(CSSで作成済み)を追加して、メニュー項目にスタイルを追加/削除できるようにするこのスクリプトができました。
$(document).ready(function () {
$('menu').find('li').hover(function() {
$(this).addClass("hovered");
},
function() {
$(this).removeClass("hovered");
});
$('menu').find('a').click(function(e) {
alert(e);
$(this).parent().addClass("active");
});
});
なんらかの理由で、エラーは表示されませんが、これを機能させることができません。マスターページの名前マングリングによって問題が発生するため、「[id $ = name]」を使用して名前を参照する必要がある別のスクリプトで問題が発生しましたが、ここではそうではないようです...
誰かが私がここで何が悪いのかを知るのを手伝ってもらえますか?
前もって感謝します
編集
ホバーが機能するようになりましたが、ページの更新後もアクティブなクラスが所定の位置に留まっているように見せることができません(明らかに、ASPのデフォルトの動作)。