我是使用jQuery编程的新手。
我尝试在名为“容器”的div中加载新内容。新内容包含div,应显示为jQuery UI Accordion。
内容更改工作正常,但手风琴未显示。如何在加载的div上应用Accordion?
代码 (灵感来自:http://net.tutsplus.com/tutorials/javascript-ajax/how-to-load-in-and-animate-content-with-jquery/):
$(document).ready(function()
{
$('#navlist li a').click(function()
{
var toLoad = $(this).attr('href');
$('#container').hide('fast',loadContent);
$('#load').remove();
$('#page').append('<span id="load">LOADING...</span>');
$('#load').fadeIn('normal');
function loadContent()
{
$('#container').load(toLoad,'',showNewContent());
}
function showNewContent()
{
$('#container').show('normal',hideLoader());
}
function hideLoader()
{
$('#load').fadeOut('normal');
}
return false;
});
$("#accordion").accordion();
});
答案 0 :(得分:0)
您似乎只在accordion
上应用了$(document).ready
。
加载新内容后,您需要致电accordion()
:
$(document).ready(function()
{
$('#navlist li a').click(function()
{
var toLoad = $(this).attr('href');
$('#container').hide('fast',loadContent);
$('#load').remove();
$('#page').append('<span id="load">LOADING...</span>');
$('#load').fadeIn('normal');
function loadContent()
{
$('#container').load(toLoad,'',showNewContent());
}
function showNewContent()
{
// ADD THIS:
$('#container #accordion').accordion();
$('#container').show('normal',hideLoader());
}
function hideLoader()
{
$('#load').fadeOut('normal');
}
return false;
});
$("#accordion").accordion();
});