有没有办法在PHP中的不同时间加载页面的不同部分

时间:2012-01-16 15:42:42

标签: php javascript html css ajax

我正在使用php和javascript,我想要做的是在不同的时间加载网页的不同部分,这样首先我的标题和侧面滑块加载,然后我的中间内容。而且,当用户向下滚动时,只会加载图像。

3 个答案:

答案 0 :(得分:1)

您可以使用jQuery将内容异步加载到页面中。

http://api.jquery.com/load/

但是你不会在这方面取得成绩,除非你想要加载很多部分内容。

答案 1 :(得分:1)

我认为这不是PHP的目的......也不是那样的。

我不会故意延迟加载时间,所以使用jquery .load()只是为了视觉效果是不好的做法。如果您只想在不同时间加载零件的视觉效果,可以执行以下操作:

  1. 在头部,添加以下脚本。我会在你的样式表之后或之前添加它。
  2. var thehtml = document.getElementsByTagName('html')[0];
    thehtml.className = 'loading';
    
    function hasClass(ele,cls) {
        return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
    }
    
    function removeClass(ele,cls) {
        if (hasClass(ele,cls)) {
            var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
            ele.className=ele.className.replace(reg,' ');
        }
    }
    
    window.onload = function() {removeClass(thehtml, "loading")}
    
    1. 设置.loading类的样式:
    2. .loading #header,
      .loading #sidebar {opacity: 0}
      
      #header,
      #sidebar {opacity: 1; transition: all 3s ease-in-out;}
      

      一旦删除加载类,这将导致标题和侧边栏淡入。如果你的中间内容包含所有图像,你可以使用像lazy karl这样的“懒惰加载器”。 http://www.karlsteltenpohl.com/blog/,56

      一般来说,我认为所有延迟加载插件都不利于性能,因为你必须依赖滚动事件,这意味着每次用户滚动页面时javascript都会运行一个函数。

      此外,如果您想要更好地控制“加载”的时间和顺序,可以使用setTimeout()函数内部的window.load来使元素在不同时间加载。

      如果您选择此解决方案,将涉及更多CSS,这将取决于您的个人布局以及您如何编码它。

答案 2 :(得分:0)

Sobhagya Mohanty你应该记住三件重要的事情:

1)异步并不意味着最快的性能,但意味着没有阻塞(加载其他资源不会阻止你的代码执行)。

2)通过Javascript加载的每个页面对所有搜索引擎都是不可见的,因此,由于您在谈论网页(而不是Web应用程序),您将隐藏Google(以及其他SE)重要内容。 / p>

3)j-man86所写的是向页面部分添加效果而不将其隐藏到搜索引擎的最佳方式。

最诚挚的问候, 法比奥布达 http://www.en.netd.it