Spring 3.0 + タイルを使用しています。すべてのページにアンカー タグを使用して共通メニューを作成し、同じものに css を適用しました。メニューがクリックされたときにメニューのcssクラスを動的に変更するためにJqueryを使用しています。
メニュー/リンクが選択されると、「selectedTab」css クラスが適用され、すべての通常のリンクには「tab」css クラスが適用されます。メニューをリクエスト/クリックするたびにスタイルクラスが適用され、応答後に再び適用されなくなるという問題に直面しています。つまり、リクエストとレスポンスの間でスタイルが適用されたままになります。しかし、応答後ではありません。メニュー リンクのコードは次のとおりです。
<div id="menu" class=" mainPageLayout clearFix" style="width:980px;margin:0 auto;">
<a id="dashboard" class="selectedTab" href="dashboard.html" onclick="return changeCss('dashboard');">
<span>Dashboard</span>
</a>
<a id="projects" class="tab" href="projectscontroller.html" onclick="return changeCss('projects');">
<span>Projects</span>
</a>
<a id="milestones" class="tab" href="milestones.html" onclick="return changeCss('milestones');">
<span>Milestones</span>
</a>
<a id="tasks" class="tab" href="tasks.html" onclick="return changeCss('tasks');">
<span>Tasks</span>
</a>
<a id="discussions" class="tab" href="messages.html" onclick="return changeCss('discussions');">
<span>Discussions</span>
</a>
<a id="reports" class="tab" href="reports.html" onclick="return changeCss('reports');">
<span>Reports</span>
</a>
<a id="history" class="tab" href="projects/history.html" onclick="return changeCss('history');">
<span>History</span>
</a>
<a id="templates" class="tab" style="float: right;" href="projects/users.html" onclick="return changeCss('templates');">
<span>Project templates</span>
</a>
<a id="users" class="tab" style="float: right;" href="projects/projectTemp.html" onclick="return changeCss('users');">
<span>Users</span>
</a>
</div>
同じためのJqueryは次のとおりです。
function changeCss(aid) { //alert(aid);
jQuery("#menu a").removeClass("selectedTab");
jQuery("#menu a").addClass("tab");
jQuery("#"+ aid).removeClass("tab");
jQuery("#" + aid).addClass("selectedTab");
}
メニューの Css クラスは次のとおりです。
a.selectedTab:hover, .studioTopNavigationPanel .contentSection .navigationBox a .selectedTab:active { background-color: #B8D9ED; 背景画像: url("../images/tab_selected_bg.png"); background-position: センタートップ。背景繰り返し: 繰り返し x; 色: #333333; カーソル: ポインタ; 表示ブロック; フロート: 左; フォントサイズ: 14px; 右マージン: 3px; パディング: 5px 12px; テキスト装飾: なし; }
.studioTopNavigationPanel .contentSection .navigationBox a.tab,
.studioTopNavigationPanel .contentSection .navigationBox a.tab:visited,
.studioTopNavigationPanel .contentSection .navigationBox a.tab:hover,
.studioTopNavigationPanel .contentSection .navigationBox a.tab:active
{
background-color: #ECF3F7;
background-image: url("../images/tab_bg.png");
background-position: center top;
background-repeat: repeat-x;
color: #333333;
cursor: pointer;
display: block;
float: left;
font-size: 14px;
margin-right: 3px;
padding: 5px 12px;
text-decoration: none;
}
.studioTopNavigationPanel .contentSection .navigationBox a.selectedTab,
.studioTopNavigationPanel .contentSection .navigationBox a.selectedTab:visited,
.studioTopNavigationPanel .contentSection .navigationBox a.selectedTab:hover,
.studioTopNavigationPanel .contentSection .navigationBox a.selectedTab:active
{
background-color: #B8D9ED;
background-image: url("../images/tab_selected_bg.png");
background-position: center top;
background-repeat: repeat-x;
color: #333333;
cursor: pointer;
display: block;
float: left;
font-size: 14px;
margin-right: 3px;
padding: 5px 12px;
text-decoration: none;
}
どこが間違っているかを教えて、できるだけ早く適切な解決策を提供してください。