Вопрос по html, javascript, jquery-load, html5, jquery – Jquery Load часть внешнего HTML

6

В основном у меня есть 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 cotaints

<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 за один раз в основной контейнер, я знаю, что функция загрузки может загрузить всю страницу сразу, но это НЕ то, что мне нужно делать.

Несколько раз смотрели на подобные вопросы, но, похоже, не могли решить эту проблему ..

Спасибо за помощь, ребята!

Какая у вас ошибка? xdazz

Ваш Ответ

3   ответа
3

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, второй и так далее.

При таком подходе выseparate JS from HTML, что всегда хорошо.

ПРИМЕЧАНИЕ: я рад за положительные отзывы, но после дальнейших исследований выяснилось, что OP хочет больше кнопок, по одной для каждого DIV (было совершенно непонятно, как сформулирован вопрос), что делает это ненужным (загрузка фрагмента страницы). на каждое нажатие кнопки достаточно). Поэтому примите мой ответ как общий подход.
2

load можно легко загружать фрагменты страницы, вот так

$('#mainContainer').load('loadpage.html #nav1div');
13

.load() Функция позволяет вам указать часть страницы для загрузки, а не только весь документ.

например

$('#mainContainer').load('loadpage.html #nav1div');

Проверьтеload() documentation особенно там, где это касается& # x201C; Загрузка фрагментов страницы & # x201D;.

@ user983969 Итак, вы хотите загрузить ихselectivelyМне было непонятно, я думал, что вы хотите ихprogressively, один за другим, при каждом нажатии наsame кнопка
Этот код решает это так, как если бы я вставлял javascript в каждый путтон для загрузки каждого div LmC
Ах, извините за это, но ваш код помог мне понять следующую проблему! Так что не волнуйтесь, ваша помощь не пропала даром! Спасибо LmC
проблемы контроля доступа все еще должны существовать на внешних или https URL.
@ user983969 Я не понимаю, ОП не хотел, чтобы div один за другим при каждом нажатии?

Похожие вопросы