我使用ajax从其他html文档div#left-column加载内容到当前div#left-column。在div#中,left-column是一个jQuery手风琴插件;当由ajax加载时,不起作用。我怎样才能使这个工作?下面是我的代码:用Ajax加载页面后; jQuery不起作用?
首页的加载jQuery和AJAX脚本:
$(document).ready(function() {
var hash = window.location.hash.substr(1);
var href = $('#mega-menu-2 li a').each(function(){
var href = $(this).attr('href');
if(hash==href.substr(0,href.length-5)){
var toLoad = hash+'.html #right-column';
$('#right-column').load(toLoad)
}
});
$('#mega-menu-2 li a').click(function(){
var toLoad = $(this).attr('href')+' #right-column';
$('#right-column').hide('fast',loadContent);
$('#load').remove();
$('#wrapper').append('<span id="load">LOADING...</span>');
$('#load').fadeIn('normal');
window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);
function loadContent() {
$('#right-column').load(toLoad,'',showNewContent())
}
function showNewContent() {
$('#right-column').show('normal',hideLoader());
}
function hideLoader() {
$('#load').fadeOut('normal');
}
return false;
});
});
那么这个片段是包含前</head>
标签:
$(document).ready(function(){
$("#accordion").tabs("#accordion div.pane", {tabs: 'h2', effect: 'slide', initialIndex: null});
});
我的HTML如下:
<div id="right-column" class="span-19 last">
<!-- accordion -->
<div id="accordion">
<h2 class="current">First pane</h2>
<div class="pane" style="display: block">
<img src="images/javascri.png" alt="JavaScript tools" style="float: left; margin: 0 15px 15px 0" />
<h3>Lorem ipsum dolor</h3>
<p><strong>Fusce semper, nisi nec pellentesque sollicitudin.</strong>
</p>
<p style="clear: both">Consectetur adipiscing elit. Praesent
bibendum eros ac nulla. Integer vel lacus ac neque viverra ornare.
Nulla id massa nec erat laoreet elementum. Vivamus tristique
auctor odio. Integer mi neque. </p>
</div>
<h2>Second pane</h2>
<div class="pane">
<h3>Vestibulum ante ipsum</h3>
<p>Cras diam. Donec dolor lacus, vestibulum at, varius in, mollis
id, dolor. Aliquam erat volutpat. Praesent pretium tristique
est. Maecenas nunc lorem, blandit nec, accumsan nec, facilisis
quis, pede. Aliquam erat volutpat. Donec sit amet urna quis
nisi elementum fermentum. </p>
</div>
<h2>Third pane</h2>
<div class="pane">
<h3>Curabitur vel dolor</h3>
<p>Non lectus lacinia egestas. Nulla hendrerit, felis quis elementum
viverra, purus felis egestas magna, non vulputate libero justo
nec sem. Nullam arcu. Donec pellentesque vestibulum urna. In
mauris odio, fringilla commodo, commodo ac, dignissim ac, augue.
</p>
</div>
</div>
</div>
<!--#right-column-->
jQuery是除了ajax脚本之外唯一需要的框架工作。我已经阅读了关于.live click函数的一些内容,但我不知道如何添加它以使其起作用。请帮忙。
真诚,
迈克尔
你能举个例子吗?我正在加载标签片段之前的ajax脚本。 – user755731 2011-05-16 15:29:58
好吧,我已将手风琴js片段移到内容#footer下方,但仍然无法使用。这是你的意思吗? – user755731 2011-05-16 15:54:18
我在ajax.js脚本'$(“#accordion”)之后的顶部运行在我的accordion.js代码片段中尝试了这一点。live(“click”,function(){0128} (“#accordion div.pane”,{tabs:'h2',effect:'slide',initialIndex:null}); });'现在它可以工作,但手风琴不会打开。我如何让手风琴保持开放? – user755731 2011-05-16 16:21:50