Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.02.2015, 08:15
Новичок на форуме
Отправить личное сообщение для BHy4ok Посмотреть профиль Найти все сообщения от BHy4ok
 
Регистрация: 12.02.2015
Сообщений: 7

Затемнение пунктов меню
Здравствуйте все!
Выручайте устал уже читать и искать выход
Есть html

<div class="s1">
                <div class="s2">
                <div class="p1">
                <ul class="subMenus">
                 <li><a href="#">Sub menu 1 item 1</a></li>
                 <li><a href="#">Sub menu 1 item 2</a></li>
                 <li><a href="#">Sub menu 1 item 3</a></li>
                 <li><a href="#">Sub menu 1 item 4</a></li>
          </ul>
</div>

                 <div class="p1">
                <ul class="subMenus">
                 <li><a href="#"></a></li>
                 
          </ul>
</div>
                 <div class="p1">
                 <ul class="subMenus">
                 <li><a href="#">Sub menu 3 item 1</a></li>
                 <li><a href="#">Sub menu 3 item 2</a></li>
                 <li><a href="#">Sub menu 3 item 3</a></li>
                 <li><a href="#">Sub menu 3 item 4</a></li>
          </ul>
</div>
                
                            
               
                </div>
            </div>


Нужно чтобы при наведении на <li> другие <li> затемнялись и затемнялся .p1

Вот этот код работает но только если все li под одним <ul> и <div>, мне данный вариант не подходит так как слетит другой скрипт

$(document).ready(function(){


$(function() {      
        $("ul.subMenus  li").css("opacity","1.0");       
        $("ul.subMenus  li").hover(function () {     
                $(this).siblings().stop().animate({opacity: 0.5}, 

"slow");   
        },          
        function () {      
                $("ul.subMenus  li").stop().animate({opacity: 1.0}, 

"slow");       
        });   
});


});


Прошу вашей помощи
Ответить с цитированием
  #2 (permalink)  
Старый 12.02.2015, 08:41
Профессор
Отправить личное сообщение для caetus Посмотреть профиль Найти все сообщения от caetus
 
Регистрация: 23.09.2014
Сообщений: 197

CSS http://htmlbook.ru/css/hover
Ответить с цитированием
  #3 (permalink)  
Старый 12.02.2015, 08:51
Новичок на форуме
Отправить личное сообщение для BHy4ok Посмотреть профиль Найти все сообщения от BHy4ok
 
Регистрация: 12.02.2015
Сообщений: 7

Сообщение от caetus Посмотреть сообщение
CSS http://htmlbook.ru/css/hover
Вы наверное не поняли, мне при наведении на один - другие затемнялись а не когда все затемненные при наведении подсвечивался. Тут без скрипта никак
Ответить с цитированием
  #4 (permalink)  
Старый 12.02.2015, 09:32
Профессор
Отправить личное сообщение для caetus Посмотреть профиль Найти все сообщения от caetus
 
Регистрация: 23.09.2014
Сообщений: 197

так тебе нужно ?

<style>
#div {
border: solid black 1px;
display: inline-block;
}
.hover {
	background: red;
	transition: 3s;
}
.normal {
	background: #fff;
	transition: 3s;
}
a {
display: inline-block;

}
</style>

<div id="div">
      <div class="s1">
                <div class="s2">
                <div class="p1">
                <ul class="subMenus">
                 <li><a href="#">Sub menu 1 item 1</a></li>
                 <li><a href="#">Sub menu 1 item 2</a></li>
                 <li><a href="#">Sub menu 1 item 3</a></li>
                 <li><a href="#">Sub menu 1 item 4</a></li>
          </ul>
</div>

                 <div class="p1">
                <ul class="subMenus">
                 <li><a href="#"></a></li>
                 
          </ul>
</div>
                 <div class="p1">
                 <ul class="subMenus">
                 <li><a href="#">Sub menu 3 item 1</a></li>
                 <li><a href="#">Sub menu 3 item 2</a></li>
                 <li><a href="#">Sub menu 3 item 3</a></li>
                 <li><a href="#">Sub menu 3 item 4</a></li>
          </ul>
</div>
                
                            
               
                </div>
            </div>
</div>

<script>

var div = document.getElementById('div');

div.addEventListener('mouseover', fn, false);

function fn (e) {
e = e.target || e.srcElement;

if(e.tagName.toLowerCase() !== 'a') return;

var elem = div.querySelectorAll('a')
for(var i = 0; i < elem.length; i++) {
        if(elem[i].className !== 'hover')	elem[i].className = 'hover';
}
e.className = 'normal'

div.addEventListener('mouseout', out, false);
}

function out (e) {
e = e.target || e.srcElement;
if(e.tagName === 'A') return;
	var elem = div.querySelectorAll('a')
	for(var i = 0; i < elem.length; i++) {
                if(elem[i].className != 'normal')	elem[i].className = 'normal';
	}

div.removeEventListener('mouseout', out);
;
}

</script>

Последний раз редактировалось caetus, 12.02.2015 в 13:03.
Ответить с цитированием
  #5 (permalink)  
Старый 12.02.2015, 12:21
Новичок на форуме
Отправить личное сообщение для BHy4ok Посмотреть профиль Найти все сообщения от BHy4ok
 
Регистрация: 12.02.2015
Сообщений: 7

Да СПАСИБО громаднейшее! почему-то не работает если вставить в head и в моем случае hover (красный цвет) пропадает только тогда когда мышкой наводишь на адресную строку не знаете в чем может быть дело
Ответить с цитированием
  #6 (permalink)  
Старый 12.02.2015, 12:29
Профессор
Отправить личное сообщение для caetus Посмотреть профиль Найти все сообщения от caetus
 
Регистрация: 23.09.2014
Сообщений: 197

<script> </script> должен бить в самом низу html страницы , можно после body.

я чуток изменил скрипт можешь опять скопирувать теперь будет пропадать цвет когда курсор убираешь с ссылки !

и перепиши в стили ООП или эти функции возьми в анонимную функцию (function(){ cod...}());

Последний раз редактировалось caetus, 12.02.2015 в 12:32.
Ответить с цитированием
  #7 (permalink)  
Старый 12.02.2015, 12:35
Профессор
Отправить личное сообщение для caetus Посмотреть профиль Найти все сообщения от caetus
 
Регистрация: 23.09.2014
Сообщений: 197

может я тебя не правильно понял , пиши попробую помочь !
Ответить с цитированием
  #8 (permalink)  
Старый 12.02.2015, 12:53
Новичок на форуме
Отправить личное сообщение для BHy4ok Посмотреть профиль Найти все сообщения от BHy4ok
 
Регистрация: 12.02.2015
Сообщений: 7

Спасибо, хорошо что есть такие люди
Ответить с цитированием
  #9 (permalink)  
Старый 12.02.2015, 12:54
Новичок на форуме
Отправить личное сообщение для BHy4ok Посмотреть профиль Найти все сообщения от BHy4ok
 
Регистрация: 12.02.2015
Сообщений: 7

щас попробую
Ответить с цитированием
  #10 (permalink)  
Старый 12.02.2015, 13:46
Новичок на форуме
Отправить личное сообщение для BHy4ok Посмотреть профиль Найти все сообщения от BHy4ok
 
Регистрация: 12.02.2015
Сообщений: 7

СПАСИБО все работает а если не секрет в чем отличие от предыдущего
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бесконечноуровневое меню на CSS ruslan_mart Ваши сайты и скрипты 5 12.01.2015 20:59
Выделение активных пунктов многоуровневого меню на jQuery Letto Элементы интерфейса 2 04.12.2013 15:30
Проблема с аккордионом и меню Tie ExtJS 3 01.09.2011 14:36
Изменение порядка пунктов в меню vyrtime jQuery 18 17.06.2011 13:57
Есть меню. Нужно выделить несколько пунктов меню. aleks7890 Общие вопросы Javascript 3 13.05.2011 13:58