用html如何把页面分割成多个文件,由多个文件拼接而成?

不同平台:pc端静态html分割页面,达到类似php等动态页面的include引入页面效果;手机端单一HTML5页面创建多个页面。
 用html把首页分成三个文件

 

通过load()方法拼接html页面
通过load()方法拼接html页面

 

在PHP、JSP等动态页面开发中,页面里引入其它页面只需include()进来就可以实现页面的分离。

如果用HTML,可以实现页面的分割吗?答案是肯定的!

 

两种方法:

一、通过iframe嵌套页面

这个方法不介绍啦,用的很普遍

二、通过AJAX方法load载入页面

通过jQuery的load()方法载入页面

 

假设有四个页面:index.html、page1.html、page2.html、page3.html,其中首页index.html页面由page1、page2、page3.html的三个页面拼接而成。

index.html页面的主要代码(含js):

  1. <div id="page1"></div> 
  2. <div id="page2"></div> 
  3. <div id="page3"></div> 
  1. $(function(){ 
  2.     $('#page1').load('page1.html'); 
  3.     $('#page2').load('page2.html'); 
  4.     $('#page3').load('page3.html'); 
  5. }) 
jquery的load()方法:载入远程 HTML 文件代码并插入至 DOM 中,默认使用GET方式

load(url,data,callback)

参数说明:

url:待装入 HTML 网页网址。

data:发送至服务器的 key/value 数据。在jQuery 1.3中也可以接受一个字符串了。

callback:载入成功时回调函数。

 

page1.html页面的主要代码:

  1. <h1 style="border:1px solid red; width:498px; height:40px; line-height:40px; text-align:center; 
  2. background-color:#ddd">我是页面1</h1> 

page2.html页面的主要代码:

  1. <h1 style="float:left;border:1px solid red; width:248px; height:140px; text-align:center; 
  2. background-color:#ddd">我是页面2</h1> 

page3.html页面的主要代码:

  1. <h1 style="float:left;border:1px solid red; width:248px; height:140px; text-align:center; 
  2. background-color:#eee">我是页面3</h1> 

 

重要说明

通过load()方法载入的页面,需要控制好css样式,这样才能达到完整的页面显示效果。

可以先在一个页面里写好html+css,然后再分离出去,最后用load()载入进来即可!

另外,通过js追加进来的DOM结构,对SEO(搜索引擎优化)有影响,类似百度蜘蛛是无法抓取的!一般情况下不到万不得已的时候,不推荐使用。

 

移动端单一HTML创建多个页面的方法

可能你想要的不是以上这种效果,而是基于移动端的。比如基于移动框架jquery.mobile开发的,那么在单一 HTML 文件中创建多个页面的方法:

  1. <div data-role="page" id="pageone"> 
  2.   <div data-role="content"> 
  3.     <a href="#pagetwo">转到页面二</a> 
  4.   </div> 
  5. </div> 
  6.  
  7. <div data-role="page" id="pagetwo"> 
  8.   <div data-role="content"> 
  9.     <a href="#pageone">转到页面一</a> 
  10.   </div> 
  11. </div> 

注意属性data-role="page"的元素要与a链接中的锚点名称一致!这样就能实现一个HTML里切换多个页面啦!

 

 

相关经验

导读书签
书签初始化中…