Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Простой скрипт "Отгадай загадку" (https://javascript.ru/forum/misc/45044-prostojj-skript-otgadajj-zagadku.html)

rustik-yes 12.02.2014 11:08

Простой скрипт "Отгадай загадку"
 
Доброго дня.
Может кто поможет, нужен один простой скрипт "Отгадай загадку".

Сначала идет текст загадки - "Текст загадки бла-бла-бла". За ним идет ссылка "Правильный ответ". При нажатии на ссылку, она должна исчезнуть, должен появится текст ответа "Текст ответа бла-бла-бла". Важно - если в браузере будет отключен java-script, то должен отображатся только "Текст загадки бла-бла-бла", а ссылка и сам правильный ответ не должны отображатся.

Нашел такой скрипт:

<p align=justify>Текст загадки бла-бла-бла

<script type="text/javascript">
	    // Получаем элемент и текст через параметры
	    function textIt(element, text) {
	        // Создаем текстовый узел с нашим текстом
	        var textNode = document.createTextNode(text);
	        // Заменяем вызвавшую ссылку на этот узел
	        element.parentNode.replaceChild(textNode, element);
	    }
</script>

<!-- вызываем функцию в обработчике события onclick, возвращаем false, чтоб не выполнялся переход по ссылке -->
<a href="javascript://" onclick="textIt(this, 'Текст ответа бла-бла-бла'); return false">Правильный ответ</a>

</p>


Он почти работает, но при отключенном java-script ссылка "Правильный ответ" не пропадает, а нажав на нее ничего не происходит...

рони 12.02.2014 11:33

rustik-yes,
:cray:
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>
<p align=justify >Текст загадки бла-бла-бла
<script type="text/javascript">
function textIt(element, text, ok) {
    var elem = document.createElement('a');
    elem.href = '#';
    var textNode = document.createTextNode(text);
    elem.onclick = function () {
        var textNode = document.createTextNode(ok);
        elem.parentNode.replaceChild(textNode, elem);
        return false
    }
    elem.appendChild(textNode)
    element.appendChild(elem);

}
var p = document.querySelector('p');
textIt(p, 'Правильный ответ', 'Текст ответа бла-бла-бла')
</script>
</p>
</body>
</html>


Часовой пояс GMT +3, время: 15:26.