Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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
最佳性能+;jqueryajax+;Div刷新_Jquery_Ajax - Fatal编程技术网

最佳性能+;jqueryajax+;Div刷新

最佳性能+;jqueryajax+;Div刷新,jquery,ajax,Jquery,Ajax,有人对jqueryajax刷新DIV的最佳选项有好的建议吗 以下是我努力实现的目标: 强调了性能的优化 左边会有导航,就像Google+/Facebook一样,右边会有内容窗格(DIV) 当用户单击每个导航时,内容窗格将相应刷新,而不会刷新整个页面 在服务器上使用不同的方法生成每个部分的内容。这样,您就可以简单地调用该方法来获取特定的内容,而不是调用一个通用方法来提取您需要的内容。一旦有了获取每个内容项的不同方法,就可以使用指向该方法的href作为链接,并使用jQuery方法通过AJAX检索内容

有人对jqueryajax刷新DIV的最佳选项有好的建议吗

以下是我努力实现的目标:

  • 强调了性能的优化
  • 左边会有导航,就像Google+/Facebook一样,右边会有内容窗格(DIV)
  • 当用户单击每个导航时,内容窗格将相应刷新,而不会刷新整个页面

  • 在服务器上使用不同的方法生成每个部分的内容。这样,您就可以简单地调用该方法来获取特定的内容,而不是调用一个通用方法来提取您需要的内容。一旦有了获取每个内容项的不同方法,就可以使用指向该方法的href作为链接,并使用jQuery方法通过AJAX检索内容并更新内容区域

    下面的示例假设您的每个导航链接都具有class
    nav link
    ,并且内容区域具有id
    content
    。它还假设您已经包含jQuery.js

     <div class="menu">
         <ul>
            <li><a href="/foo" class="nav-link">Foo</a></li>
             ...
         </ul>
    </div>
    <div id="content">
        ... initial content...
    </div>
    
    <script type="text/javascript">
     $(function() {
         $('.nav-link').click( function() {
            var href = $(this).attr('href');
            $('#content').load( href, function() {
                // you can do something here after the content is loaded if needed
            });
            return false; // don't actually follow the link
         });
     });
    </script>
    
    
    
    • ...
    ... 初始内容。。。 $(函数(){ $('.nav link')。单击(函数(){ var href=$(this.attr('href'); $('#content').load(href,function(){ //如果需要,可以在加载内容后在此处执行某些操作 }); return false;//不实际跟踪链接 }); });
    在服务器上使用不同的方法生成每个部分的内容。这样,您就可以简单地调用该方法来获取特定的内容,而不是调用一个通用方法来提取您需要的内容。一旦有了获取每个内容项的不同方法,就可以使用指向该方法的href作为链接,并使用jQuery方法通过AJAX检索内容并更新内容区域

    下面的示例假设您的每个导航链接都具有class
    nav link
    ,并且内容区域具有id
    content
    。它还假设您已经包含jQuery.js

     <div class="menu">
         <ul>
            <li><a href="/foo" class="nav-link">Foo</a></li>
             ...
         </ul>
    </div>
    <div id="content">
        ... initial content...
    </div>
    
    <script type="text/javascript">
     $(function() {
         $('.nav-link').click( function() {
            var href = $(this).attr('href');
            $('#content').load( href, function() {
                // you can do something here after the content is loaded if needed
            });
            return false; // don't actually follow the link
         });
     });
    </script>
    
    
    
    • ...
    ... 初始内容。。。 $(函数(){ $('.nav link')。单击(函数(){ var href=$(this.attr('href'); $('#content').load(href,function(){ //如果需要,可以在加载内容后在此处执行某些操作 }); return false;//不实际跟踪链接 }); });
    $.ajax({
    网址:,
    成功:功能(数据){
    $('#divId').html(数据);
    }
    });
    
    $.ajax({
    网址:,
    成功:功能(数据){
    $('#divId').html(数据);
    }
    });
    
    对于ajax调用,大部分开销将来自XHR请求本身。尽管您可以在变量中缓存必要的对象,以尽可能提高性能。假设您的HTML如下所示:

    <ul id="nav">
        <li><a href="content1.html">Link 1</a></li>
        <li><a href="content2.html">Link 2</a></li>
    </ul>
    
    <div id="contentpane"></div>
    

    对于ajax调用,大部分开销将来自XHR请求本身。尽管您可以在变量中缓存必要的对象,以尽可能提高性能。假设您的HTML如下所示:

    <ul id="nav">
        <li><a href="content1.html">Link 1</a></li>
        <li><a href="content2.html">Link 2</a></li>
    </ul>
    
    <div id="contentpane"></div>
    

    有一个包含菜单的页面,并且要显示的所有页面都有单独的页面(没有菜单)。在菜单项上单击,发送一个AJAX请求以获取相应的页面(将返回完整页面的html),并将其设置为div的html。只需注意重复的元素ID/名称,如果不小心,这可能会导致javascript问题。

    有一个包含菜单的页面,并为要显示的所有页面(不带菜单)设置单独的页面。在一个菜单项上单击,发送一个AJAX请求以获取适当的页面(将返回完整页面的html),并将其设置为div的html。只需注意重复的元素ID/名称,如果不小心,这可能会导致javascript问题。

    很高兴知道。我读到,出于性能原因,最好使用函数(e){…然后使用函数e.preventDefault()而不是返回false,因为返回false也会触发e.stopPropagation,这会使函数速度稍慢。因此,返回false被称为“错误做法”但是它当然可以工作;)很好知道。我读到,出于性能原因,最好使用函数(e){…然后使用e.preventDefault()而不是返回false,因为返回false也会触发e.stopPropagation,这会使函数的速度变慢。因此,返回false被称为“错误做法”,但它当然可以工作;)