クラス ' ' にaをindex.php
ロードするがあるとします。page.php
div
wrapper
page.php
wrapper
には独自のリンクがあり、これらのリンクの 1 つをクリックすると、それぞれのページが SAME ' 'に読み込まれるようにしたいと考えていますdiv
。
同様に、ロードされたページには独自のリンクがある可能性があり、コンテンツを同じ div に引き続きロードしたいと考えています。ページのこの連鎖効果をどのように実現できますか?
jQuery / AJAX はあなたの友達です:
$('#link').click(function() {
var go = $.ajax({
type: 'POST',
data: {m: 'ajax', // POST Variables go here...
linkID: $(this).val()} // $(this).val() is the value of the link clicked
})
.done(function(results) {
$('#resultsDiv').html(results); // This is where your results go
})
.fail(function(msg) {
alert("Error:" + msg);
})
.always(function() {
});
}
AJAX 呼び出しを関数に入れます。
function loadWrapper($url){
$('#wrapper').load($url+' > *',function(){
$(this).on('click','a',function(e){
e.preventDefault();
loadWrapper($(this).attr('href'));
});
});
}
次に、ページの読み込み時に、最初に読み込まれるページ上の任意のアイテムにクリックを割り当てます。
$('.LinkClass').on('click',function(e){
e.preventDefault();
loadWrapper($(this).attr('href'));
});
そしてもちろん、元の負荷:
loadWrapper('page.php');
関数内のコールバックにより、ロードされたリンクや、今後ロードする可能性があるその他のリンクに対してクリック イベントを発生させることができます.Wrapper
。これらのリンクにクラスLinkClass
(または必要なもの) を与えるだけで、準備完了です。