Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Диначесеская подсветка ссылок (https://javascript.ru/forum/dom-window/48399-dinacheseskaya-podsvetka-ssylok.html)

DerTrickster 02.07.2014 13:41

Диначесеская подсветка ссылок
 
Добрый день.

Подскажите пожалуйста как можно вот такую задачу решить: есть один заголовок и четыре миниатюры новостей, заголовок через определенный промежуток времени меняется (всего заголовков четыре как и картинок, но в каждый конкретный момент времени виден только один) и соответственно меняется подсветка миниатюр (подсвечивается та миниатюра, чей заголовок высветился). При наведении мыши действие ставится на паузу. Смена заголовков и картинок по очереди.





Brutus 02.07.2014 15:46

http://learn.javascript.ru/play/u2ZhM

рони 03.07.2014 00:24

:write: вариант ...
<!DOCTYPE HTML>
<html>
  <head>
  <meta charset="utf-8">
  <style>
    #myUl{
      list-style: none;
      width: 120px;
      padding: 0;
      margin: 0;
      overflow: hidden;
    }
  	#myUl li{
      float: left;
      width: 50px;
      height: 50px;
      border: 2px solid #FFA000;
      margin-right: 5px;
      margin-bottom: 5px;
    }
    #myUl li.active{
      border: 2px solid #ff0000;
    }
  </style>
  </head>
  <body>
    <div id="myHead"></div>
	<ul id="myUl">
      <li head="Заг А.">A</li>
      <li head="Заг Б..">Б</li>
      <li head="Заг В...">В</li>
      <li head="Заг Г....">Г</li>
    </ul>
    <script>
      var myUl    = document.getElementById('myUl'),
          myHead  = document.getElementById('myHead'),
          UlInner = myUl.children,
          j       =  -1,
          elem,
          is;

	  function spt(e,el){
        elem && (elem.className = '');
        j = ++j % UlInner.length ;
        elem = el || UlInner[j];
        myHead.innerHTML = elem.getAttribute('head');
        elem.className = 'active';
        !el && (is = window.setTimeout(spt, 1000));

      }
      spt();
      myUl.onmousemove = function (e){  window.clearTimeout(is);
         var target = e && e.target || event.srcElement;
         if(target.tagName == 'LI') spt(e,target);
      }
      myUl.onmouseout = spt
    </script>

  </body>
</html>

BETEPAH 03.07.2014 10:48

Недостатки этих решений в том, что заголовки выпадают из индексирования. Если это важно для ТС, конечно :)

DerTrickster 03.07.2014 15:06

Спасибо огромное. В данном случае индексация не очень важна.
Сейчас пойду разбираться и если получится модернизирую: пришла мысль в голову, что неплохо бы при наведении на картинку отображался соответствующий заголовок...

рони 03.07.2014 15:16

Цитата:

Сообщение от DerTrickster
наведении на картинку отображался соответствующий заголовок...

оно разве не так в 3 посте?

DerTrickster 04.07.2014 10:36

Извиняюсь, глупость написал. Смотрел на планшете первый раз просто не разглядел.

DerTrickster 12.12.2014 13:46

Извиняюсь, что снова поднимаю старую тему, но столкнулся с ошибкой: все корректно работает пока в <li> текст, но если вложить еще один <div> все сбивается. Как это можно исправить?

BETEPAH 12.12.2014 15:32

Цитата:

Сообщение от DerTrickster
Как это можно исправить?

54я строка


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