Контейнер div или iframe с динамическими кнопками, связанными с динамическим блоком - PullRequest
0 голосов
/ 08 февраля 2012

Короче говоря, я не знаю точно, как работает динамический html или .js, ajax или .as, однако я видел на многих веб-сайтах динамический контент, использующий iframe или подразделения (<div>).В основном, есть три кнопки (div, которые w: 150px h: 30px) по прямой линии с полем под ним (iframe или div).Если вы нажмете на кнопку один в поле под ним, он изменится на другой контент без фактической смены страниц или перезагрузки всей страницы.У меня вопрос, как это сделать успешно?

Спасибо, что нашли время, чтобы прочитать и / или ответить на мой вопрос!

Хорошего дня,

Блан

Ширина тела составляет 800 пикселей, высота - 100%. У меня есть жатка и стопа, высота которых составляет 50 пикселей, а основное тело - около 2400 пикселей в высоту.В основном корпусе у меня есть другой контейнер шириной 700 пикселей с полями в 50 пикселей слева и справа.Внутри плавающего слева есть 2 поля, которые называются column1 и column2.Столбец 1 содержит изображение, представляющее меня, шириной 300 пикселей и высотой 300 пикселей, необязательно точного размера самого изображения.Другой столбец 2 - это 400px: w на 300px: h.И он разбит на части, в нижней части находится контейнер размером 400px: w на 30px: h.Это было разбито на 4 части, каждая из которых имеет ширину 100 пикселей.Это дома мои динамические кнопки.Под столбцами и этим div находится отдельное подразделение, которое содержит содержимое, которое будет меняться.У меня установлены те же атрибуты, что и у основного контейнера (w: 700px h: 400px margin-left / right: 50px).Вот где я застрял, у меня есть учебники по Google по динамическому контенту в HTML, но я не нашел то, что искал.Все должно было придумывать и продвигать с загрузкой экранов и движущихся изображений, а что нет.Я просто хочу изменить щелчок без обновления, если это имеет смысл.

Ответы [ 2 ]

1 голос
/ 09 февраля 2012

Чтобы получить динамический контент, вам нужно извлечь эти данные из базы данных или другого веб-сайта или другой веб-страницы, используя AJAX .Я рекомендую читать и изучать JQuery , поскольку он довольно прост и, как и любой другой язык, следует логическому потоку.Синтаксис JQuery также довольно прост, поэтому его не должно быть слишком сложно подобрать.Но я отвлекся.

Если ваша структура HTML выглядит следующим образом:

<div id="container">
    <div id="panel1" class="panel">
        <a href="#" class="button" id="btn-1">Button 1</a>
        <div id="iframe-1"></div>
    </div>
    <div id="panel1" class="panel">
        <a href="#" class="button" id="btn-2">Button 2</a>
        <div id="iframe-2"></div>
    </div>
    <div id="panel1" class="panel">
        <a href="#" class="button" id="btn-3">Button 3</a>
        <div id="iframe-3"></div>
    </div>
</div>

и ваш CSS выглядит примерно так:

.panel{
    float:left;
}

/* Initially hide all iframe divs */
.panel > div{
    display:none
}

/* Initially show only the first iframe div */
.panel > div:first-child{
    display:block;
}

Используя JQuery, вы можете использовать:

//Run the code after the elements of the page have been downloaded. This is usually how most JQuery syntax starts. 
$(document).ready(function(){
    //When the button is clicked, run a function
    $('.button').click(function(e){
        e.preventDefault(); //Prevents default click behavior; similar to defining onclick='return false;' in the <a /> tag.
        $('.button').siblings('div').hide(); //Hide all open iframe divs
        $(this).siblings('div').show(); //Show the iframe div corresponding to clicked link
        var id = $(this).attr('id').replace('btn-','iframe-'); //Get the ID of the link clicked and replace 'btn-' with 'iframe-'
        $('#'+id).load('http://<url of the page you want to load>'); //Load the new web page or content into the iframe div. This could be an absolute or relative path.
    });
});

Аналогично функции .load () , существует также функция .ajax () , которая является более полной.Также помните, как работает Javascript, он компилируется на клиентском компьютере и запускается один раз при загрузке страницы.Таким образом, при извлечении динамических данных, которые добавляются в HTML-страницу, любые действия, такие как щелчки, зависания и т. Д., Необходимо перезагружать для нового контента.Вам нужно будет использовать событие JQuery .on () или .delegate () .

Надеюсь, это поможет.

1 голос
/ 09 февраля 2012

Вот простой пример использования плагина jQuery для JavaScript.Вы можете сделать это на обычном JavaScript, но это намного больше работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...