Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ajax加载后如何返回jquery?_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript ajax加载后如何返回jquery?

Javascript ajax加载后如何返回jquery?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在index.php中的div容器中发出了一个ajax请求,在ajax加载的一个页面中,我有一个jquery函数: $(文档).ready(函数(){ var section=document.querySelector(“.vs section”); var divs=document.querySelectorAll('.vs transform'); var平滑=新平滑({ 方向:'水平', 节:节, 轻松度:0.1, 埃尔斯:divs }); smooth.init(); });假设

我在index.php中的div容器中发出了一个ajax请求,在ajax加载的一个页面中,我有一个jquery函数:

$(文档).ready(函数(){
var section=document.querySelector(“.vs section”);
var divs=document.querySelectorAll('.vs transform');
var平滑=新平滑({
方向:'水平',
节:节,
轻松度:0.1,
埃尔斯:divs
});
smooth.init();

});假设
afficher()
函数将加载的代码附加到DOM,您可以尝试以下操作:

 $('#container').on('click', '.vs-transform a', function(){
     var page=$(this).attr("href");
        $.ajax({
            url: "pages/"+page,
            cache:false,
            success:function(html){
                afficher(html);
                history.pushState({key : 'value'}, 'hash', page);
                //HERE THE INNER PAGES CODE
                if(page==="yorpagehere.html"){    
                   //here code for yourpagehere.html
                   var section = document.querySelector('.vs-section');
                   var divs = document.querySelectorAll('.vs-transform');

                   var smooth = new Smooth({
                       direction: 'horizontal',
                       section: section,
                       ease: 0.1,
                       els: divs
                   });
                   smooth.init();

                }
            },
            error:function(XMLHttpRequest,textStatus, errorThrown){
                afficher ("erreur lors du chagement de la page");
            }
        });
        return false;
    // ....
编辑。这应该可以延迟工作

$(document).ready(function(){

    $("#menu a").click(function(){ 
       page=$(this).attr("href");
        $.ajax({
            url: "pages/"+page,
            cache:false,
            success:function(html){
                afficher(html, page);
                history.pushState({key : 'value'}, 'hash', page);
            }, 
            error:function(XMLHttpRequest,textStatus, errorThrown){
                afficher("erreur lors du chagement de la page");
            }
        });
        return false;
    });

     $('#container').on('click', '.vs-transform a', function(){
     var page=$(this).attr("href");
        $.ajax({
            url: "pages/"+page,
            cache:false,
            success:function(html){
                afficher(html, page);
                history.pushState({key : 'value'}, 'hash', page);
            },
            error:function(XMLHttpRequest,textStatus, errorThrown){
                afficher ("erreur lors du chagement de la page");
            }
        });
        return false;
    }); 
window.onpopstate = function(event){
        if(event.state === null){
               // alert('bien');
        }
    };
});


function afficher(data, page){
$("#container").delay( 100 ).fadeOut(400,function(){
    $("#container").empty();                
    $("#container").append(data);
    $("#container").fadeIn(500);
    if(page==="yorpagehere.html"){    
        //here code for yourpagehere.html
        var section = document.querySelector('.vs-section');
        var divs = document.querySelectorAll('.vs-transform');

        var smooth = new Smooth({
           direction: 'horizontal',
           section: section,
           ease: 0.1,
           els: divs
         });
         smooth.init();

      }
});
}

从cdn在主标题中加载jquery一次,这不会成为问题。您应该为ajax成功提供回调,并在回调中执行ajax加载页面的代码。如果在DOM
$(文档)中附加ajax调用的html后不执行代码,则代码无法工作。如果作为异步ajax请求的结果执行,则不需要ready(function(){
。抱歉,我没有看到您必须在$(“#menu a”)的success函数中执行相同的操作。单击()ajax。请确保使用您要执行代码的页面名称编辑yorpagehere.html。是的,重置我的页面名称并使其成为菜单链接的成功功能,但仍然不起作用。我不明白我必须在函数affichermm中执行什么…好的,再次抱歉,我的错误,我没有看到您处理附加…等一下ute和我编辑我的答案