关于页头页尾的异步加载

在网站中许多页面的页头页尾,都是一样的。采用异步加载,增加代码复用率;

采用PHP+html+jQuery

方法:

1.在名为header.php的页面中:写入页头部分的html

<?php
    header('Content-Type:text/html;charset=UTF-8;');
?>
    <div id="top">
        <p>页头部分html代码</p>
    </div>

2.在页面中index.html中:指定要引入页头的位置 其中图片为页面没加载出来时:提示正在加载的图片

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title>第一个页面</title> 
  <link rel="stylesheet" href="css/commont.css">//引入css文件
</head>
<body>
      <div id="header">
          <img src="image/loader.gif" alt="">
       </div>
<script src="js/common.js"></script>//引入js文件
</body>
</html>

 

3.common.js//本例子 把HTML代码写在php中,所以为header.php (也可把代码写在一个html文件中,那么引入的时候可写 html的名字 例如:header.html)

$('#header').load('header.php');

一个页面异步请求头部完毕

在其他页面中加载页头,同样需要指明页头的位置

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title>第二个页面</title> 
  <link rel="stylesheet" href="css/commont.css">//引入css文件
</head>
<body>
      <div id="header">
          <img src="image/loader.gif" alt="">
       </div>
<script src="js/common.js"></script>//引入js文件
</body>
</html>

 

这样既可实现多个页面异步加载页头,异步加载页尾方法同上;

注意:

  由于异步加载的头部元素(无论是用PHP写的还是html写的)不在dom树上,在对异步加载的头部元素进行操作时,要用事件代理来写

即,找到dom树上的元素进行绑定:

 

$('#header').on('mouseenter','#top>p',function(){

  $(this).css({color:"red"});

});

 

posted @ 2016-11-12 15:53  橘子红  阅读(1217)  评论(0编辑  收藏  举报