Javascript.RU

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

Всплывающая подсказка
Как я вижу (пока в голове у себя, а не на сайте к сожалению) работу этого скрипта:
При наведении мыши на картинку, табличка, которая изначально невидима, становится видимой, позиционируется рядом с курсором мыши и в ячейку этой таблицы вписывается текст с задержкой для каждой буквы. По событию onmouseout() текст в ячейке очищается. НО!!! При новом наведении мыши, текст в ячейку не записывается, и табличка оказывается пустой. Помогите пожалуйста отладить скрипт...

<script>
wrstr = "Описание канала"
astr = wrstr.split("")
typestr = ""
i=0;
function wrtext() {
if(i< astr.length) {
typestr+=astr[i];
document.getElementById("wr_"+num_id).innerHTML = typestr;
i++;
}
else clearInterval(xinterval)
}
/* xinterval = setInterval("wrtext()", 50) */

function on_panel() {
on_id = event.srcElement
num_id = on_id.id;
lem=document.getElementById("u_"+num_id);
if(lem.style.visibility=="hidden") {
coord=window.event;
lem.style.top=coord.clientY+20;
lem.style.left=coord.clientX+20;
lem.style.visibility="visible";
     xinterval = setInterval("wrtext()", 50)
	 
}

else {
lem.style.visibility="hidden";
	document.getElementById("wr_"+num_id).innerHTML = ""; 
}
}

</script>
<body>
<img id="01" src="bodyimg/hotbird1.gif" width="95" height="72" onMouseOver="on_panel()" onMouseOut="on_panel()">
<div id="u_01" style="background-color:#FF9900; border:#0000CC; border-style:solid; border-width:1px; visibility:hidden; position:absolute; width:200;top:50; left:50; height:200; opacity:0.5; filter:alpha(opacity:50);">
<table width="200">
  <tr>
    <td id="wr_01"></td>
  </tr>
</table>
</div>
</body>


Спасибо

Последний раз редактировалось SunYang, 24.05.2008 в 22:40.
Ответить с цитированием
  #2 (permalink)  
Старый 24.05.2008, 22:56
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

SunYang,
Перед установкой нового интервала xinterval = setInterval("wrtext()", 50), у вас не обнуляется счетчик символов. Попробуйте сделать так:
...
i = 0;
xinterval = setInterval("wrtext()", 50);
...
Ответить с цитированием
  #3 (permalink)  
Старый 24.05.2008, 23:31
Профессор
Отправить личное сообщение для SunYang Посмотреть профиль Найти все сообщения от SunYang
 
Регистрация: 22.02.2008
Сообщений: 189

Попробовал. Частично работает. Начинает писать строку заново. Но уже после уже написанной при первом наведении мыши. Одну и туже строку пишет еще раз после каждого наведения.
Ответить с цитированием
  #4 (permalink)  
Старый 24.05.2008, 23:32
Профессор
Отправить личное сообщение для SunYang Посмотреть профиль Найти все сообщения от SunYang
 
Регистрация: 22.02.2008
Сообщений: 189

чет на код по событию onmouseout()
...
document.getElementById("wr_"+num_id).innerHTML = "";
...
не реагирует.
Ответить с цитированием
  #5 (permalink)  
Старый 24.05.2008, 23:42
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

SunYang,
Попробуйте так:
function on_panel() {
     if(lem.style.visibility=="hidden") {
          on_id = event.srcElement
          num_id = on_id.id;
          lem=document.getElementById("u_"+num_id);
          coord=window.event;
          lem.style.top=coord.clientY+20;
          lem.style.left=coord.clientX+20;
          lem.style.visibility="visible";
          xinterval = setInterval("wrtext()", 50)
     } else {
          lem.style.visibility="hidden";
          lem.innerHTML = "";
          i = 0; 
     }
}

Последний раз редактировалось Андрей Параничев, 25.05.2008 в 01:55.
Ответить с цитированием
  #6 (permalink)  
Старый 25.05.2008, 02:51
Профессор
Отправить личное сообщение для SunYang Посмотреть профиль Найти все сообщения от SunYang
 
Регистрация: 22.02.2008
Сообщений: 189

Все!!! Я сам додумал....
Вот так надо было написать:

function on_panel() {

typestr=""      // Все дело в том, что строка эта после отработки функции бла не пуста.

on_id = event.srcElement
num_id = on_id.id;
lem=document.getElementById("u_"+num_id);
if(lem.style.visibility=="hidden") {
coord=window.event;
lem.style.top=coord.clientY+20;
lem.style.left=coord.clientX+20;
lem.style.visibility="visible";
xinterval = setInterval("wrtext()", 50)
 
}
 
else {
lem.style.visibility="hidden";
i=0
}
}
Ответить с цитированием
  #7 (permalink)  
Старый 25.05.2008, 02:52
Профессор
Отправить личное сообщение для SunYang Посмотреть профиль Найти все сообщения от SunYang
 
Регистрация: 22.02.2008
Сообщений: 189

Спасибо за поддержку!!
Ответить с цитированием
  #8 (permalink)  
Старый 25.05.2008, 12:03
Профессор
Отправить личное сообщение для SunYang Посмотреть профиль Найти все сообщения от SunYang
 
Регистрация: 22.02.2008
Сообщений: 189

А кто знает, можно зашифровать этот скрипт??
Ответить с цитированием
  #9 (permalink)  
Старый 02.06.2008, 17:08
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

можно его откомпресить:
http://javascript.ru/optimize/javascript-compression

В данном случае подойдет компрессия через eval(str);
Не шифровка, но читать уже сложнее. =)))
Ответить с цитированием
  #10 (permalink)  
Старый 02.06.2008, 23:23
Профессор
Отправить личное сообщение для SunYang Посмотреть профиль Найти все сообщения от SunYang
 
Регистрация: 22.02.2008
Сообщений: 189

Дык этож все дешифрации подлежит....
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
всплывающая java script подсказка ehevnlem Элементы интерфейса 2 16.12.2008 16:57
Всплывающая подсказка Kaito Общие вопросы Javascript 1 16.09.2008 17:28
Всплывающее окошко, как подсказка при наведении на кнопку. rastafaray Общие вопросы Javascript 4 24.05.2008 00:55
Всплывающая таблица SunYang Общие вопросы Javascript 1 15.03.2008 01:02