jquery函数加载2页有bug

时间:2014-09-04 02:30:14

标签: javascript jquery html css

$('#homemenubutton').click(function() {

            $('#leftcolumncontainer').load('pages/homemenu.php');
            $('#middlecolumncontainer').load('pages/homecontent.php');
        });




$.ajaxSetup({
                url: "pages/mayorscolumn.php",
                success: function(result) {
                    $("#leftcolumncontainer").html(result);
                }
            });
            $.ajax();
            $('#menuhome').click(function() {
            location.reload(true);
            //$('#leftcolumncontainer').load('pages/mayorscolumn.php');
            //$('#middlecolumncontainer').load('pages/imagegallerycolumn.php');
            });

我上面有这个代码来加载页面左侧的页面这个页面是一个菜单页面,而中间页面将是content.my问题很简单,为什么它有时会表现奇怪而其他时候也很完美......有当我按下按钮中间页面被加载到两个容器中时,有时它会加载两个页面。可能会导致这种情况发生吗?任何建议都表示赞赏

1 个答案:

答案 0 :(得分:2)

我能看到的一个问题是,看看以下步骤

  1. pages/homemenu.php请求已发送
  2. 'pages/homecontent.php'请求已发送
  3. 左面板请求已完成,现在因为你有一个ajax设置和默认的加载处理程序,ajax设置中的处理程序也会触发
  4. 中间面板请求已完成,因此默认处理程序将内容加载到中间面板,现在ajax设置中的成功处理程序将触发,因此左侧面板中也会加载相同的内容
  5. 因此,如果中间请求在左请求之后完成,则由于ajaxSetup中设置了默认成功处理程序,因此在两个面板中都会得到相同的结果,但是如果左面板请求在中间面板然后看起来好吧即使你多次更新左边....

    $('#homemenubutton').click(function () {
        $('#leftcolumncontainer').load('pages/homemenu.php');
        $('#middlecolumncontainer').load('pages/homecontent.php');
    });
    
    $('#leftcolumncontainer').load('pages/mayorscolumn.php');
    $('#menuhome').click(function () {
        location.reload(true);
        //$('#leftcolumncontainer').load('pages/mayorscolumn.php');
        //$('#middlecolumncontainer').load('pages/imagegallerycolumn.php');
    });