7

基本上我有一个 index.html 如下所示..

<html>

<head>

<title>UI Test: Main Menu</title>

<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="general.js"></script>

</head>

<body>  

<input type="button" value="Details" onclick="javascript:$('#mainContainer').load('loadpage.html #name1div *');"/><br>
<div id="mainContainer">        

</div>

loadpage.html 内容

<div id="nav1div><h3>1 DIV </h3> </div>
<div id="nav2div><h3>2 DIV </h3> </div>
<div id="nav3div><h3>3 DIV </h3> </div>
<div id="nav4div><h3>4 DIV </h3> </div>

我的目标是基本上一次将 1 个 div 加载到主容器中,我知道加载函数可以一次加载整个页面,但这不是我需要做的。

看过一些类似的问题,但似乎无法解决这个问题..

感谢大家的帮助!

4

3 回答 3

15
于 2012-06-21T08:58:33.433 回答
4

要一个接一个地加载 DIV,定义一个计数器

var curDiv = 1; // current Div

在开头的某个地方(最好定义一个$(document).ready()函数来初始化它)。定义这个函数:

function loadThing()
{
    if (curDiv<5) $('#mainContainer').load('loadpage.html #nav' + (curDiv++) + 'div');
}

定义点击事件,如:

$("input#getdiv").click(loadThing);

你按钮喜欢:

<input id="getdiv" type="button" value="Details" />

每次点击你都应该得到第一个 div,第二个,依此类推。

使用这种方法,您可以将 JS 与 HTML 分开,这总是好的。

于 2012-06-21T09:00:27.357 回答
2

jQueryload可以轻松加载页面片段,像这样

$('#mainContainer').load('loadpage.html #nav1div');
于 2012-06-21T08:58:25.657 回答