Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   А чегой-то у jQuery селекторы такие убогие? (https://javascript.ru/forum/jquery/29989-chegojj-u-jquery-selektory-takie-ubogie.html)

Nanto 20.07.2012 07:06

А чегой-то у jQuery селекторы такие убогие?
 
Как, например, получить доступ к псевдоэлементу?

devote 20.07.2012 07:11

никак

devote 20.07.2012 07:12

Цитата:

Сообщение от Nanto
А чегой-то у jQuery селекторы такие убогие?

джуквери тут не причем, это CSS селекторы придуманные не джуквери разработчиками

Nanto 20.07.2012 09:10

Цитата:

Сообщение от devote (Сообщение 190153)
джуквери тут не причем, это CSS селекторы придуманные не джуквери разработчиками

Которые Резиг взял за основу синтаксиса для своего фреймворка... jQ за то и любят многие - что она использует синтаксис селекторов скопированный с CSS.
А с псевдоэлементами выходит так, что CSS гибче, чем javascript?

Nanto 20.07.2012 09:23

Что-то туплю пока... Такая задача, есть два "не родственных" блока...
Типичная всплывашка - при ховере на первый блок, второй блок должен показываться, и отображаться пока курсор над первым или вторым блоком.
Поскольку блоки не родственные, решил через таймер... Долго объяснять код кину:
$(document).ready(function() {
	$(".a1").hover(function() {
		$(".a2").show();
  }, function() {
    setTimeout(function() {
      $(".a2").mouseover(function() {
        $(".a2").show();
        $(".a1").addClass("a1_hover");
      });
      $(".a2").mouseout(function() {
        $(".a2").hide();
        $(".a1").removeClass("a1_hover");
      });
    }, 1000);
	});
});


Где косяк? И возможно ли такое в приниципе?

zlodeeev 20.07.2012 10:48

Таймер - глупо. Тем более не там где нужно.

$(".a1, .a2").hover(function(){...})

Nanto 20.07.2012 14:21

zlodeeev,
Спасибо - действительно, до глупого просто!
А таймер куда бы надо было вешать? После события mouseout?

zlodeeev 20.07.2012 14:41

Не в этом скрипте lol, он здесь вообще не нужен.

http://jsfiddle.net/3td2h/2/

Nanto 20.07.2012 16:14

zlodeeev,
Проблему я с Вашей подсказкой решил - всё работает.
Но к чему Вы ссылку кинули?
я знаю - это мой говнокод... Если мышью не заходить на красный блок а уйти в сторону - красный так и останется. Вот я и хотел при уходе с чёрного блока - давать таймаут, а потом смотреть - пришёл ли курсор на красный. пришёл показываем на ховере, не пришёл - скрываем.

zlodeeev 20.07.2012 16:21

А смысл? Ты сможешь угадать, когда юзер додумается навести на этот блок мышку? Нехорошо ты к толстолобым пользователям IE =D.
В таком случае, наверно лучше было бы сделать на ховер только открытие того блока, а закртытие уже тогда, когда юзер додумался на втором блоке мышкой поводить


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