Javascript.RU

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

Перебор каждого элемента в цикле "for"
Добрый вечер всем,

Имеется следующее выпадающее меню:

$("#downsideMenu:nth-child(1)").hover(function(){
$("#downsideMenu:nth-child(1) :nth-child(2)").css("display","block"); }, function(){
$("#downsideMenu:nth-child(1) :nth-child(2)").css("display","none");
})
.................................................. ............................................
$("#downsideMenu:nth-child(6)").hover(function(){
$("#downsideMenu:nth-child(6) :nth-child(2)").css("display","block"); }, function(){
$("#downsideMenu:nth-child(6) :nth-child(2)").css("display","none");
})
})
Все прекоасно работает __________________________________________________ _____________Как можно сократить код, используя цикл "for" и следующий вид:

var downsideMenu = $("#downsideMenu :nth-child(i)");
for (var i=1; i<7; i++){
???????????
}
$("#downsideMenu:nth-child(i)").hover(function(){
$("#downsideMenu:nth-child(i) :nth-child(2)").css("display","block"); }, function(){
$("#downsideMenu:nth-child(i) :nth-child(2)").css("display","none");
})
})
Что является телом цикла в этом случае? Нет ли ошибки в объявлении переменной?
Подскажите, пожалуйста, если можете.
Заранее благодарен.
DTM

Последний раз редактировалось hhpd, 18.02.2013 в 05:25.
Ответить с цитированием
  #2 (permalink)  
Старый 15.02.2013, 23:42
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

hhpd, кажется у вас jQuery головного мозга. Срочно лечить. В данном случае очень хорошо помогает препарат CSS:
<!DOCTYPE html>
<style>
#downsideMenu > li{
    position: relative;
    float: left;
    list-style: none;
    margin: 0 10px;
}
#downsideMenu span{
    cursor: pointer;
    display: block;
    border: 1px solid #eee;
}
#downsideMenu ul{
    position: absolute;
    top: 100%;
    left: 0;
    display: none;
    background: #eee;
    min-width: 200px;
}
#downsideMenu > li:hover ul{
    display: block;
}
</style>
<ul id="downsideMenu">
    <li>
        <span>Бла бла</span>
        <ul>
            <li>Суб-бла-бла</li>
            <li>Суб-бла-бла</li>
            <li>Суб-бла-бла</li>
        </ul>
    </li>
    <li>
        <span>Бла бла</span>
        <ul>
            <li>Суб-бла-бла</li>
            <li>Суб-бла-бла</li>
            <li>Суб-бла-бла</li>
        </ul>
    </li>
    <li>
        <span>Бла бла</span>
        <ul>
            <li>Суб-бла-бла</li>
            <li>Суб-бла-бла</li>
            <li>Суб-бла-бла</li>
        </ul>
    </li>
</ul>


Возможно это просто врачебная ошибка...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
абсолютное позиционирование каждого элемента dempfi Общие вопросы Javascript 2 14.10.2012 15:44
теги в выделенном фрагменте woojin Events/DOM/Window 48 15.08.2012 19:13
Событие для каждого элемента. Узнать id каждого элемента LysoSutriN jQuery 4 05.01.2012 16:03
Применение функции для каждого элемента sergeygerasimov jQuery 2 26.11.2008 11:15