Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Добавить класс (https://javascript.ru/forum/dom-window/78375-dobavit-klass.html)

ethereal 04.09.2019 02:45

Добавить класс
 
Здравствуйте! Помогите, пожалуйста, решить две проблемы.

Первое - нужно при наведении на слайд добавить класс.

Код слайдера (Owl Carousel), к активным слайдам автоматически добавляются классы "active"... Нужно что бы при наведении к примеру на второй активный слайд, добавить класс "a-hover".

<div class="owl-carousel owl-one">
  <div> 1 </div>
  <div class="active"> 2 </div>
  <div class="active a-hover"> 3 </div>
  <div class="active"> 4 </div>
  <div> 5 </div>
  <div> 6 </div>
</div>

При наведение на третий активный слайд, добавить класс уже к нему и удалять с второго.

Я кое-что набросал методом тыка, но это работает только на первые 3 слайда.

Вот тут пример: https://codepen.io/anakin-skywalker94/pen/MWgvoqy


Второе (самое важное) - сделать что бы класс "a-hover" не удалялся.

К примеру, мы навели на второй активный слайд, добавился класс "a-hover".
<div class="owl-carousel owl-one">
  <div> 1 </div>
  <div class="active"> 2 </div>
  <div class="active a-hover"> 3 </div>
  <div class="active"> 4 </div>
  <div> 5 </div>
  <div> 6 </div>
</div>


Далее, если слайды меняются, класс "a-hover" должен остаться там же, к второму активному слайду (или к другому, в зависимости где был добавлен).

Вот так:
<div class="owl-carousel owl-one">
  <div> 1 </div>
  <div> 2 </div>
  <div> 3 </div>
  <div> 4 </div>
  <div> 5 </div>
  <div> 6 </div>
  <div class="active"> 7 </div>
  <div class="active a-hover"> 8 </div>
  <div class="active"> 9 </div>
  <div> 10 </div>
</div>


До тех пор, пока не наведем курсор на другой активный слайд.

https://codepen.io/anakin-skywalker94/pen/MWgvoqy

Помогите, пожалуйста, сделать это, уже несколько дней пытаюсь.
Большое спасибо!

ksa 04.09.2019 07:28

ethereal, как вариант...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.a-hover {
	color: red;
}
.active {
	font-weight: bold;
}
</style>
<script type='text/javascript'>
$(function(){
	$('.owl-carousel.owl-one > div').mouseover(function(){
		var o=$(this);
		o.parent().find('.a-hover').removeClass('a-hover');
		o.addClass('a-hover');
	});
});
</script>
</head>
<body>
<div class="owl-carousel owl-one">
	<div> 1 </div>
	<div> 2 </div>
	<div> 3 </div>
	<div> 4 </div>
	<div> 5 </div>
	<div> 6 </div>
	<div class="active"> 7 </div>
	<div class="active a-hover"> 8 </div>
	<div class="active"> 9 </div>
	<div> 10 </div>
</div>
</body>
</html>

ethereal 04.09.2019 18:33

это по первому пункту... А по второму думаете можно что то сделать?

ksa 05.09.2019 07:34

Цитата:

Сообщение от ethereal
А по второму думаете можно что то сделать?

Посмотрел сейчас твой пример по ссылке... Там сам слайдер меняет всю твою разметку и очень сильно. Т.ч. твой ХТМЛ, что ты приводишь выше, не соответствует действительности.

Для ответа на твой вопрос придется хорошо изучать этот слайдер... А у меня нет такого желания, т.ч. извиняй. :-?


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