dyn 中的 jQuery UI 手风琴。填充的div(div中的div)

发布于 2024-10-22 20:41:48 字数 1248 浏览 2 评论 0原文

我是 jQuery 编程新手。

我尝试在名为“container”的 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();
});

I'm new in programming with jQuery.

I tried to load new content in a div called "container". The new content has a div included, which should be shown as jQuery UI Accordion.

The content change works fine, but the accordion isn't shown. How can i apply the Accordion on the loaded div?

Code
(inspired by: 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();
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

奈何桥上唱咆哮 2024-10-29 20:41:48

看起来您只在 $(document).ready 上应用了 accordion

加载新内容后,您需要调用 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();
});

It looks like you are only applying the accordion on $(document).ready.

You need to call accordion() after you load your new content:

$(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();
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文