Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.11.2014, 13:04
Новичок на форуме
Отправить личное сообщение для demo Посмотреть профиль Найти все сообщения от demo
 
Регистрация: 27.11.2014
Сообщений: 1

почему не работает ссылка
Помогите разобраться, почему после добавления ссылки в документ (contr.innerHTML = <a ...>...</a>) через clearInterval() ссылка отображается правильно (в т.ч в строке состояния браузера), но переход по ней не осуществляется. В чем прикол? Что неправильно?
Вот код:
<html>
<head>
<script type="text/javascript">
function changeText() {
if(contr.innerHTML == "АКЦИЯ")
{
contr.innerHTML = "<a href='http://yandex.ru'>ПРИВЕТ</a>";
}
else
{
contr.innerHTML = "АКЦИЯ";
}
}
function stopText(){
clearInterval(idInterval);
contr.innerHTML = "<a href='http://yandex.ru'>ПРИВЕТ Я не работаю</a>";
}
</script>
</head>
<body>
<div id="contr" style="position:relative; top:150px; left:150px; width:150px; height:150px; background:yellow;"
 onmouseover="stopText();">
АКЦИЯ
</div>
<script>
var idInterval=setInterval("changeText()",1300);
</script>
</body>
</html>

Последний раз редактировалось demo, 27.11.2014 в 17:07.
Ответить с цитированием
  #2 (permalink)  
Старый 27.11.2014, 13:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от demo
id=delivery'>ПРИВЕТ</a>";
???
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 27.11.2014, 14:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

demo,
function stopText(){
 *!* contr.onmouseover=null;*/!*
 clearInterval(idInterval);
 contr.innerHTML = "<a href='http://yandex.ru'>ПРИВЕТ Я не работаю</a>";
 }
Ответить с цитированием
  #4 (permalink)  
Старый 29.11.2014, 14:52
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Бредовая реализация. Обычно просто скрывают одно - другое открывают, затем наоборот, а не перезаписывают хтмл.
Ответить с цитированием
  #5 (permalink)  
Старый 29.11.2014, 22:14
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Сообщение от demo
В чем прикол?
прикол в том, что по событию оnmouseover функция stopText постояннно вызывается и блокирует поток, поэтому браузер не может обработать клик, пока мышь наведена на объект. Помимо решения, предложенного Рони, возможно еще использование события onmousemove вместо onmouseover, в расчете на то, что когда пользователь кликает мышью, он ее перестает перемещать. Кроме того, можно поизвращаться с костылями из seTimeout

Последний раз редактировалось krutoy, 29.11.2014 в 22:17.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не пойму почему не работает код? Mukhtar Events/DOM/Window 4 29.04.2013 00:01
почему не работает с DOM?? Brook jQuery 1 17.02.2013 17:30
Подскажите пожалуйста почему не работает. gheka Общие вопросы Javascript 7 11.02.2012 22:07
Почему не работает из PHP? Pumych Элементы интерфейса 6 12.02.2011 13:51
Прошу помощи с джавой. Я не совсем понимаю почему это не работает. дучч74 Общие вопросы Javascript 12 09.02.2011 01:45