Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   mouseover не распространяется на два блока с одни id (https://javascript.ru/forum/jquery/13279-mouseover-ne-rasprostranyaetsya-na-dva-bloka-s-odni-id.html)

dolphin_al 24.11.2010 10:19

Цитата:

Сообщение от ksa (Сообщение 80474)
Где новый тестовый пример?

Я понял тебя про третий див

<ul class="main_tabs">
    <li class="main_news_section1">
        <a href="#tab1">LINK_TEXT</a>
        <div id="tab1" class="tab_content">
            <span>DATE</span><br>
            TEXT
        </div>
    </li>
    <li class="main_news_section2">
        <a href="#tab2">LINK_TEXT</a>
        <div id="tab2" class="tab_content">
            <span>DATE</span><br>
            TEXT
        </div>
    </li>
    <li class="main_news_section3">
        <a href="#tab3">LINK_TEXT</a>
        <div id="tab3" class="tab_content">
            <span>DATE</span><br>
            TEXT
        </div>
    </li>
</ul>

А внутри дивов с уникальными id выводим уже сколь хочешь дивов. Это понятно на наведение мыши работает один соответсвующий див внутри которого еще сколь угодно блоков.

Так не пойдет мне надо имено два раздельных дива показать независимых вообще (не один в другом и так далее), посмотри Html первый.

$(document).ready(function() {
    $(".tab_content").hide(); 
    $(".tab_content:first").show();
        

    $("ul.main_tabs li").mouseover(function() {
        	var activeTab = $(this).find("a").attr("href"); 
            $(".tab_content").hide();
            $(activeTab).fadeIn(0);
            return false;
    });

        
});


в этом коде строка var activeTab = $(this).find("a").attr("href"); задает в переменную activeTab значение href ссылки внутри ul.main_tabs li ? я же правильно понимаю ?

ksa 24.11.2010 10:27

Цитата:

Сообщение от dolphin_al
строка var activeTab = $(this).find("a").attr("href"); задает в переменную activeTab значение href ссылки внутри ul.main_tabs li ? я же правильно понимаю ?

Да.
Там и хранят ИД нужного элемента. Но у тебя тех же id="tab3" как минимум 2!

<div id="tab3" class="tab_content"> 
    <img src="image3" border="0" alt="" title=""  /> 
</div>

и
<div id="tab3" class="tab_content"> 
   <span>DATE</span><br> 
   TEXT 
</div>

dolphin_al 24.11.2010 11:08

Хорошо пусть будут последние блоки tab3 и tab6 (то есть всего шесть блоков, три пары), тогда как мне сделать открытие одновременно обоих блоков при наведении на ссылку <a href="#tab3">LINK_TEXT</a> ? :) может я неправильно как то рассказываю или это нереальная задача :help:

ksa 24.11.2010 11:29

Цитата:

Сообщение от dolphin_al
пусть будут последние блоки tab3 и tab6

Если ты хочешь скрывать именно эти элементы при таком "раскладе" скрипта - такие ИД будут не удачным сочетанием... :no:
Более лучший способ - tab3 и tab3_1. Или нечто в таком же духе... Намёк понятен?

dolphin_al 24.11.2010 11:45

Цитата:

Сообщение от ksa (Сообщение 80492)
Если ты хочешь скрывать именно эти элементы

я хочу открывать эти элементы
Цитата:

Сообщение от ksa (Сообщение 80492)
при таком "раскладе" скрипта - такие ИД будут не удачным сочетанием... :no:

:blink: какие варианты другого расклада?
Цитата:

Сообщение от ksa (Сообщение 80492)
Более лучший способ - tab3 и tab3_1. Или нечто в таком же духе... Намёк понятен?

Понятен, сделал у первых трех блоков ИД tab1, tab2, tab3 у следующих tab1_1, tab2_2, tab3_3 получилось что при загрузке страницы показан блок tab1, при наведении на ссылку с ИД tab1 появляется блок tab1_1 а tab1 скрывается и больше не появлется при переходах между ссылками. Получается что блоки tab2_2 и tab3_3 вообще не цепляются к ссылкам с ИД tab2 и tab3

Чувствую что скрипт надо переписать где то. но не могу сообразить как

ksa 24.11.2010 12:07

Цитата:

Сообщение от dolphin_al
какие варианты другого расклада?

Да их валом! :)
Цитата:

Сообщение от dolphin_al
блоки tab2_2 и tab3_3

Ты не правильно понял мой намёк про ИД... :(
ИД "вторых" элементов должно быть составны по следующему правилу

<ИД_первого_элемента><некая_приставка,_одинаковая_у_всех_участников>


Ты же "приставку" сделал у всех разную... :-E

dolphin_al 24.11.2010 12:37

В принципе все верно с ид такой код не прокатит.

помогли:
$(document).ready(function() {
        
            $(".tab_content").hide();
            $(".tab_content:first").show();
        
            $("ul.main_tabs li").mouseover(function() {
        		var activeTab = $(this).find("a").attr("href").substr(1);
                $(".tab_content").hide();
                $("."+activeTab).fadeIn(0);
                return false;
            });

        });


и дивы у меня получаются с классом tab_content tab1, tab_content tab2, tab_content tab3 все шесть :)

ksa 24.11.2010 13:11

dolphin_al, с классами ты явно перестарался... :) Закончить таки с ИД было бы посподручнее.

dolphin_al 24.11.2010 13:23

Цитата:

Сообщение от ksa (Сообщение 80506)
dolphin_al, с классами ты явно перестарался... :) Закончить таки с ИД было бы посподручнее.

Да время поджимает уже как сделал так сделал :) все равно спасибо за помощь и терпение :)


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