jQuery动态加载内容

jQuery动态加载内容,jquery,ajax,dynamic-content,Jquery,Ajax,Dynamic Content,我有一个动态加载内容的问题。我有一个菜单,在div点击隐藏后,他们正在加载新内容,他正在移动。。它工作正常,但在新的内容,我有子菜单,它想使用什么样的菜单相同的效果,但正在出现的问题和链接导致立即通过 也许这更容易理解::我有CONTNET DIV,这是动态加载,如果我点击菜单中的链接。。。新内容正在正确加载。在新内容我有子菜单,但若我点击链接那个里所有的网站是重新加载。。。如果我只想加载“content div” 代码有什么问题 $(document).ready(function() {

我有一个动态加载内容的问题。我有一个菜单,在div点击隐藏后,他们正在加载新内容,他正在移动。。它工作正常,但在新的内容,我有子菜单,它想使用什么样的菜单相同的效果,但正在出现的问题和链接导致立即通过


也许这更容易理解::我有CONTNET DIV,这是动态加载,如果我点击菜单中的链接。。。新内容正在正确加载。在新内容我有子菜单,但若我点击链接那个里所有的网站是重新加载。。。如果我只想加载“content div”

代码有什么问题

 $(document).ready(function() {

    var hash = window.location.hash.substr(1);
    var href = $('.nav li a').each(function(){
        var href = $(this).attr('href');
        if(hash==href.substr(0,href.length-5)){
            var toLoad = hash+'.html #content';
            $('#content').load(toLoad)
        }                                           
    });

    $('.nav li a').click(function(){

        var toLoad = $(this).attr('href')+' #content';
        $('#content').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() {
            $('#content').load(toLoad,'',showNewContent())
        }
        function showNewContent() {
            $('#content').show('normal',hideLoader());
        }
        function hideLoader() {
            $('#load').fadeOut('normal');
        }
        return false;

    });

});
我试图采纳你的建议,但没有效果

我做了一个例子页

你们可以看到,若你们点击菜单,一切正常,但若你们要点击“欢迎内容”中的子菜单,所有网站都会被重新加载,但若你们再次点击,只有内容Div被加载


有人有想法吗?

你的母语是什么?我想用它来回答会更容易

是这样吗?您可以单击主菜单中的任何项目,并使用AJAX将其加载到页面新菜单,但新菜单中的项目不调用AJAX请求

如果是这样,您需要将AJAX函数调用应用于新菜单、其项或加载的内容,如您所愿

$(".nav li a").click(function funcName() {
    ...
    $("#content").load(toLoad, function (){
        showNewContent();
        $(".nav li a").click(funcName);/*or other submenu selector*/
    });
    ...
});

我认为您的代码太复杂了,需要一些改进。

从我对您的查询的理解来看,这可能就足够了

$('.nav li a, #content a').live('click', function(){

        var toLoad = $(this).attr('href')+' #content';
        $('#content').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() {
            $('#content').load(toLoad,'',showNewContent())
        }
        function showNewContent() {
            $('#content').show('normal',hideLoader());
        }
        function hideLoader() {
            $('#load').fadeOut('normal');
        }
        return false;

    });

请纠正你的英语-你的问题很难理解。@shybovycha,哦,那句话的讽刺意味=@大卫·托马斯,现在是凌晨1点20分,所以我有点累了。。。请你解释一下你的短语好吗=也许这更容易理解::我有CONTNET DIV,这是动态加载,如果我点击菜单中的链接。。。新内容正在正确加载。在新内容我有子菜单,但若我点击链接那个里所有的网站是重新加载。。。如果我只想加载“content div”…@shybovchya,我是指你要求OP更正他的英语,在评论中,1你用小写字母开始一个句子,2拼写为“English”的小写英语是一个专有名词,所以应该大写,3个拼写错误的“明白”…我只是想让你心情愉快,虽然现在把它拼出来感觉有点刻薄,所以我真诚的道歉。不过,我同意你的说法,这个问题不清楚。