dyn中的jQuery UI Accordion。填充div(div in div)

时间:2011-03-16 22:18:28

标签: jquery html load accordion

我是使用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();
});

1 个答案:

答案 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();
});