自分のサイトに実装しようとしているナビゲーションフレームワークに小さな問題があります。次のようにコーディングされています。
HTML
<div class="panel1">
first navigation ul li set
</div>
<div class="panel2" id="subnav">
AJAX loaded navigation ul li set
</div>
<div class="panel3" id="content">
content loaded by AJAX
</div>
Javascript
$(document).ready(function () {
$('a.ajax-link-top').click( function( event ) {
set_ajax_link( $(this), event );
});
});
function set_ajax_link( el, event ){
event.preventDefault();
var url = el.attr("href");
load_menu_content( url );
}
function load_menu_content( url ){
$("#subnav").load( url, { 'ajax': 'true' }, function(){
$('#subnav a.ajax-link').click( function( event ) {
set_ajax_link_sub( $(this), event );
});
});
}
function set_ajax_link( el, event ){
event.preventDefault();
var url = el.attr("href");
load_page_content( url );
}
function load_page_content( url ){
$("#content").load( url, { 'ajax': 'true' }, function(){
$('#content a.ajax-link').click( function( event ) {
set_ajax_link_sub( $(this), event );
});
});
}
修正は次のとおりです。
HTML:同じJavascript:
$(document).ready(function () {
var panel2 = $(".panel2");
var panel3 = $(".panel3");
$(".panel1").click(function (e) {
e.preventDefault();
var url = e.target.href;
$(".panel2").load(url);
});
$(".panel2").click(function (e) {
e.preventDefault();
var url_2 = e.target.href;
panel3.load(url_2);
});
});
目標は、クラスajax-link-topのリンクを取得して#subnav divのsubnavメニューをロードし、ajax-linkクラスのリンクを取得してページコンテンツを#contentdivにロードすることです。パネルまたはsubnavパネル。
私が今得ている結果は、リンクのいずれかがクリックされるたびに、コンテンツ、メニュー、またはその他の方法で#contentdivにロードされることです。JSコードのどこかに何かが入っていると確信していますが、それがわかりません。
ありとあらゆる助けに感謝します!M