Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 16.04.2015, 19:24
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 768

В дальнейшем это дело будет в динамике и в цикле в смарти
{foreach key=tid item=cat from=$list}
<div class="parent">
	<div class="child">...</div>
	</div>
{/foreach}

$tid принимает значения от 0 и далее, может к этому как то привязать?

Последний раз редактировалось ureech, 16.04.2015 в 19:28.
Ответить с цитированием
  #12 (permalink)  
Старый 16.04.2015, 19:25
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Во первых $(".parent div") означает - получить все элементы div элемента с классом parent. Чего вам и хочется, хотя правильнее будет так:
$(".parent > div")

только так $("div .parent") - это означает в неком div получить элемент с классом parent. И в каком это div он у вас находится и с чего бы это работало?

Ваше "работает", может быть только так:
$("div.parent > div").hover(function(){
        $(this).toggleClass("opacity");
    });

ибо просто обращение по классу без указания тега, это поиск всех элементов документа отвечающих этому селектору. Чего делать не рекомендуется.

Вам две копии примера показали, они рабочие.

PS. Если parent содержит один элемент, то зачем обращаться к child через него?
Ответить с цитированием
  #13 (permalink)  
Старый 16.04.2015, 19:44
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 768

Сообщение от laimas
Вам две копии примера показали, они рабочие.
Да, рабочие.
Сообщение от laimas
Если parent содержит один элемент, то зачем обращаться к child через него?
А как по другому? У меня выводит три "parent", в каждом "child". Может в шаблоне onMousover на див повесить? что то поменяется?
Ответить с цитированием
  #14 (permalink)  
Старый 16.04.2015, 19:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Если в "parent" помещается только один "child", то измените в примерах селектор на "div.child". Этого будет достаточно. Если бы необходимо было менять стили только "parent child", не затрагивая "child" в других элементах, тогда бы надо было действовать как показывали. Иначе смысла нет в обращении через "parent".
Ответить с цитированием
  #15 (permalink)  
Старый 16.04.2015, 20:05
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 768

Сообщение от laimas
то измените в примерах селектор на "div.child".
Не помогает, скрываются все три "child".
Ответить с цитированием
  #16 (permalink)  
Старый 16.04.2015, 20:09
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Внимательно смотрим на html-код! Ваш? По одному элементу, а не по три и более в "parent", правильно?
<html> 
<head> 
<style>
.child {
    color: #f00;
}
.opacity {
    color: #0f0;
}
</style> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script> 
$(function() {
    $("div.child").hover(function(){
        $(this).toggleClass("opacity");
    });
});
</script>     
</head> 
<body>
<div class="parent">
    <div class="child">aaa</div>
</div>
<div class="parent">
    <div class="child">bbb</div>
</div>
<div class="parent">
    <div class="child">ccc</div>
</div>
</body> 
</html>

Работает?
Ответить с цитированием
  #17 (permalink)  
Старый 16.04.2015, 20:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,085

ureech,
вам тостаточно css - js тут ненужен
Ответить с цитированием
  #18 (permalink)  
Старый 16.04.2015, 20:27
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 768

Сообщение от laimas
Работает?
Работает. Но мне нужно hover на "parent", так как на "parent" привязана svg анимация, которая работает при hover и при этом и нужно скрыть внутренний див "child"

Сообщение от рони
вам тостаточно css - js тут ненужен
Возможно да, но хотелось бы на js, та как возможно потом прикручу fadeUp или что то подобное.
Ответить с цитированием
  #19 (permalink)  
Старый 16.04.2015, 20:28
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Ну да, CSS. Только о каких "всех" постоянно идет речь, даже после того ка вроде бы один прописан.
Ответить с цитированием
  #20 (permalink)  
Старый 16.04.2015, 20:30
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Но мне нужно hover на "parent", так как на "parent" привязана svg анимация

Ну так оставьте селектор, который вам ранее показывали, в чем проблема?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разворачивается только первый элемент в списке dezzignet jQuery 8 05.12.2012 14:51
Отсылаются только цифры: JSON через AJAX xaocbozzz AJAX и COMET 19 27.11.2012 10:53
задействовать только дочерний элемент roma86 jQuery 2 03.10.2009 21:36
Кодировка при использовании Ajax Nichloas AJAX и COMET 9 17.09.2009 16:06
Добавить активный элемент Wirty jQuery 5 09.08.2009 16:06