раскрытие текста на веб-странице по ссылке - PullRequest
2 голосов
/ 12 февраля 2012

Есть ли простой способ раскрытия текста внутри веб-страницы с помощью ссылки без изменения веб-адреса или использования iframe?может быть с функцией «onclick»?Я довольно новичок в новом коде, так что не знаю, с чего начать. Я приложил картину того, что именно после, довольно просто.Я уже использую iframe в качестве основного интерфейса, так что другой будет беспорядочным с точки зрения меню по умолчанию.должно быть простое исправление .. любая помощь будет очень признательна.спасибо Аарон

enter image description here

Ответы [ 2 ]

2 голосов
/ 12 февраля 2012

Поместите текст, который вы хотите скрыть, до щелчка внутри скрытого контейнера, например:

<div id="HiddenTextContainer" style="display: none;">
   Hello, I will become visible when you click something else
</div>

Следующий шаг - добавить этот код JavaScript на страницу, например, внутри секции <head>:

function ShowHiddenText() {
    document.getElementById("HiddenTextContainer").style.display = "block";
}

И, наконец, такой код:

<span onclick="ShowHiddenText();">click me to show hidden text</span>

Тестовый пример .

Редактировать : на случай, если вы получилидля отображения более одного элемента вы можете использовать атрибут rel:

<span rel="HiddenTextContainer2">click me to show second hidden text</span><br />

Затем, используя чистый JavaScript, выполнить итерацию по всем элементам с этим атрибутом и назначить их onclick программно:

window.onload = function() {
    var elements = document.getElementsByTagName("span");
    for (var i = 0; i < elements.length; i++) {
        var element = elements[i];
        var id = element.getAttribute("rel") || "";
        if (id.length > 0) {
            element.onclick = function() {
                var oToShow = document.getElementById(this.getAttribute("rel"));
                if (oToShow)
                    oToShow.style.display = "block";
            };
        }
    }
};

При нажатии отображается элемент с идентификатором, равным значению rel.

Обновленная скрипта .

Редактировать :чтобы показать его в одном контейнере, сначала нужно иметь такой контейнер:

<div id="HiddenTextContainer"></div>

Не нужно скрывать его, так как он изначально пустой, затем измените код на:

window.onload = function() {
    var elements = document.getElementsByTagName("span");
    for (var i = 0; i < elements.length; i++) {
        var element = elements[i];
        var id = element.getAttribute("rel") || "";
        if (id.length > 0) {
            element.onclick = function() {
                var oToShow = document.getElementById(this.getAttribute("rel"));
                if (oToShow)
                    document.getElementById("HiddenTextContainer").innerHTML = oToShow.innerHTML;
            };
        }
    }
};

Вместопоказывая связанный контейнер, вы копируете его содержимое в «основной» контейнер.

Обновлен jsFiddlе .

0 голосов
/ 12 февраля 2012

У вас есть 2 варианта для этого. Первый - предварительно загрузить все на странице, а затем установить свойство visible только при нажатии на ссылку. Второй - загрузить его, используя что-то вроде AJAX, и затем показать его так же, как указано выше.

Чтобы показать эти вещи, посмотрите в JQuery: http://jquery.com/

Хорошее руководство для второго метода здесь: http://yensdesign.com/2008/12/how-to-load-content-via-ajax-in-jquery/

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