Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Вопрос по Juqery
Форумы портала PHP.SU » » Вопросы новичков » Вопрос по Juqery

Страниц (1): [1]
 

1. Dee - 13 Октября, 2013 - 20:50:05 - перейти к сообщению
Всем привет у меня следующий вопрос.
Я работаю с фото и выделаю из них атрибуты title.
Дальше мне надо показать нормально title в отдельном окошке,это собственно я все реализовал.Но старый title надо как то удалить,чтобы при наведении у меня не было так:
мой тайтл и стандартный тайтл.
Но есть следующая проблема,как только я удаляю через remove или
attr('title','') или removeAttr то мой тайтл тоже пропадает.
Воопрос как удалить стандартный тайтл ,а чтобы мой остался ?

CODE (javascript):
скопировать код в буфер обмена
  1. img.mouseover ( function () {
  2. $("#coment").show(0) ;
  3. $("#strelka").show(0) ;
  4.  
  5. var aaa = $(this).attr('title') ;
  6.  
  7. var bbb = $(this).offset().left ;
  8. var ccc = $(this).offset().top ;
  9. var plus = 10 ;
  10. var eee = screen.width ;
  11. var css1 = aaa.length ;
  12. var css2 = (css1+plus)+"ex" ;
  13. $("#coment").css("width",css2) ;
  14. $("#strelka").css({"margin-left":bbb+37,"margin-top":-5}) ;
  15. $("#coment").text(aaa).css({"margin-left":bbb-50,"margin-top":0}) ; }) ;


PS за опечатки извиняйте )
2. IllusionMH - 13 Октября, 2013 - 21:16:27 - перейти к сообщению
Dee, при загрузке страницы перенесите все тайтлы в jQuery[dot]data(). Если используете html5 тогда можете создать свой атрибут data-title. И потом получайте их из данных.
Чет я не помню более оптимального способа скрыть саму всплывающую подсказку.
3. MAXUS - 14 Октября, 2013 - 00:48:03 - перейти к сообщению
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var titles={};
  3. function showTitle(){
  4.         titles[this]=this.getAttribute("title");
  5.         this.removeAttribute("title");
  6. }
  7. function backTitle(){
  8.         if(titles[this]) this.setAttribute("title", titles[this]);
  9.         delete titles[this];
  10. }
  11.  


CODE (html):
скопировать код в буфер обмена
  1.  
  2. <div title="div1 title" onmouseover="showTitle.call(this)" onmouseout="backTitle.call(this)">DIV1</div>
  3. <div title="div2 title" onmouseover="showTitle.call(this)" onmouseout="backTitle.call(this)">DIV1</div>
  4.  


Ну а уж как это на jquery вешать... Дело техники. Суть в том, при наведении мыши title записывается в объект titles в свойство с именем равным ссылке на элемент. А потом при уходе мыши оттуда извлекается. Проверил. Работает как часы.

 

Powered by ExBB FM 1.0 RC1