Javascript.RU

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

Скрипт, чтобы текстовым блокам давался красный бекграуд каждому по очереди
Ребят есть 4 блока в ряд, которые состоят просто из текста!
задача состоит в том, что нужно написать скрипт, чтобы этим текстовым блокам давался красный бекграуд каждому по очереди через каждые три секунды, что то на подобии автоматического слайдера, но если наводишь мышкой, то этот процесс останавливается!!
То есть у блоков нет бг, просто белый фон, но через каждые три секунды каждому по очереди дается красный бг, тоесть выделяем их, но если навести мышкой, стоп процесс!
ПОМОГИТЕ СРОЧНО!!!
СПАСИБО
Ответить с цитированием
  #2 (permalink)  
Старый 13.04.2016, 03:25
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

Сообщение от barakuda
но если наводишь мышкой, то этот процесс останавливается!!
А если отводишь? Продолжается?
Ответить с цитированием
  #3 (permalink)  
Старый 13.04.2016, 11:49
Интересующийся
Отправить личное сообщение для barakuda Посмотреть профиль Найти все сообщения от barakuda
 
Регистрация: 14.11.2015
Сообщений: 17

да да))
Ответить с цитированием
  #4 (permalink)  
Старый 13.04.2016, 11:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

barakuda,
вы бы хоть минимальный html написали.
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #5 (permalink)  
Старый 13.04.2016, 12:03
Интересующийся
Отправить личное сообщение для barakuda Посмотреть профиль Найти все сообщения от barakuda
 
Регистрация: 14.11.2015
Сообщений: 17

<div class="sc-4-content">
<h1 class="head"><span>ГАРАНТИЯ НАДЕЖНОСТИ</span>
<br>СВАЙ НАШЕГО ЗАВОДА</h1>
<div class="row">
<div class="col">
Усиленный винт сваи и
<br> удлиненный конус
<div class="bottom">
УЛУЧШЕННАЯ
<br>КОНСТРУКЦИЯ
</div>
</div>
<div class="col">
Отборная труба
<br> категории «В».
<br> Метал лопасти
<br> высочайшего качества
<br> ГОСТ 10704-91
<div class="bottom">ВЫСОКОЕ КАЧЕСТВО
<br> МАТЕРИАЛОВ
</div>
</div>
<div class="col">
Усиленные
<br> сварные швы, за счет
<br> полуавтоматизированной
<br> линии производства и
<br> сварочного оборудования
<br> "KEMPPI FASTMIG 300".
<br> Газо-сващики 4-5 разряда
<div class="bottom">НАДЕЖНЫЕ
<br> СВАРНЫЕ ШВЫ</div>
</div>
<div class="col">
<div class="box-red">
<div class="title">
Эпоксидное покрытие,
<br> стойкое к воздействию
<br> влаги, устойчиво к
<br> изменению температуры
<br> и защищает от
<br> коррозии.
</div>
<div class="bottom">
ИЗНОСОСТОЙНОЕ
<br> ПОКРЫТИЕ
</div>
</div>
</div>
</div>
</div>


Вот код!
.sc-4 .col:nth-child(1), .sc-4 .col:nth-child(2), .sc-4 .col:nth-child(3) {
width: 24.25%;
position: relative;
min-height: 360px;
}
.sc-4 .col .bottom {
position: absolute;
top: 267px;
font-family: 'Conv_ProximaNova-Bold';
text-transform: uppercase;
text-align: center;
width: 100%;
left: -2px;
line-height: 1.3;
}
.sc-4 .col:nth-child(4) {
width: 26.1%;
}
.box-red {
background-color: #c31b2a;
min-height: 397px;
margin-left: 0;
margin-top: -52px;
max-width: 244px;
margin: -52px auto 0 auto;
}
.box-red .title {
font-size: 18px;
color: #fff;
font-family: 'PragmaticaExtraLight';
padding-top: 50px;
}
.box-red .bottom {
font-size: 18px;
color: #fff;
text-transform: uppercase;
margin-top: 52px;
}
.box-red .bottom:before {
position: absolute;
width: 72px;
height: 72px;
background-color: #fff;
border-radius: 50%;
content: "";
top: -92px;
margin-left: auto;
margin-right: auto;
left: 0;
right: 0;
}
вот минимальные стили!!
Ответить с цитированием
  #6 (permalink)  
Старый 13.04.2016, 12:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

barakuda,
Сообщение от рони
читайте http://javascript.ru/formatting.
Ответить с цитированием
  #7 (permalink)  
Старый 13.04.2016, 17:04
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

<!doctype html>
<html>
<head>
  <meta charset="utf-8" />
  <title></title>
  <style>
    .wrap {
      margin-top: 100px;
    }
    
    .item {
      padding: 10px;
      border: 2px solid red;
    }
  </style>
</head>
<body>
  <div class="wrap">
    <span class="item">Item 1</span>
    <span class="item">Item 2</span>
    <span class="item">Item 3</span>
    <span class="item">Item 4</span>
  </div>
  
  <script>
    var divElem = document.querySelector('.wrap'),
        spanElems = [].slice.call( document.querySelectorAll('.item') ),
        isOverElem, cX, cY, pX, pY, cTime, pTime, sensitivity = 0.1,
        i = 0, timer, prev;
    
    function foo() {
      spanElems[prev || 0].style.background = '';

      spanElems[prev = i % spanElems.length, i++ % spanElems.length].style.background = 'red';
    
      timer = setTimeout(foo, 3000);
    };
    
    foo();
    
    divElem.addEventListener('mouseover', function(event) {
      if (isOverElem) return;
    
      isOverElem = true;
    
      pX = event.pageX;
      pY = event.pageY;
      pTime = Date.now();
    
      this.addEventListener('mousemove', move);
    });
    
    divElem.addEventListener('mouseout', function(event) {
      if ( event.relatedTarget && !this.contains(event.relatedTarget) ) {
        isOverElem = false;
    
        this.removeEventListener('mousemove', move);
    
        if (isHover) {
          foo();
          isHover = false;
        }
      }
    });
    
    function move(event) {
      var speed;
    
      cX = event.pageX;
      cY = event.pageY;
      cTime = Date.now();
    
      if (pTime == cTime) return;
    
      speed = Math.sqrt( Math.pow(pX - cX, 2) + Math.pow(pY - cY, 2) ) / (cTime - pTime);
    
      if (speed < sensitivity) {
        divElem.removeEventListener("mousemove", move);
        isHover = true;
        clearInterval(timer);
      } else {
        setTimeout(function() {
          pX = cX;
          pY = cY;
          pTime = cTime;
        }, 10);
      }
    }
  </script>
</body>
</html>
Ответить с цитированием
  #8 (permalink)  
Старый 13.04.2016, 18:15
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Вариант с setInterval
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style>
    .wrap {
      margin-top: 100px;
      float: left
    }
    
    .item {
      padding: 10px;
      border: 2px solid red;
    }
   </style>
 </head>
<body>
  <div class="wrap">
    <span class="item">Item 1</span>
    <span class="item">Item 2</span>
    <span class="item">Item 3</span>
    <span class="item">Item 4</span>
  </div>
   <script>
       var divElem = document.querySelector('.wrap'),
           spanElems = [].slice.call(document.querySelectorAll('.item')),
           i = 0, prev = 0;
       function changeSpanColor() {
           spanElems[prev || 0].style.background = '';
           spanElems[prev = i % spanElems.length, i++ % spanElems.length].style.background = 'red';
       };
       var intervalID = window.setInterval(changeSpanColor, 3000);
       divElem.addEventListener('mouseover', function (event) {
          clearInterval(intervalID);
      });
      divElem.addEventListener('mouseout', function (event) {
          intervalID = window.setInterval(changeSpanColor, 3000);
      });
  </script>
</body>
</html>
Ответить с цитированием
Ответ


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

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