2012-06-14 2 views
0

Я использую Quicksand для сортировки страницы портфолио и вам нужно удалить левое дополнение каждого третьего элемента, используя nth-child, и мне нужно добавить эффект мыши и мыши. Это то, что я в настоящее время:Несколько обратных вызовов при использовании Quicksand

$holder.quicksand($filteredData, { 
    duration: 200, 
    easing: 'easeInOutQuad' 
}, function() { 
    $("#center_content .portfolio .tiles_holder .four img").mouseover(function() { 
     $(this).fadeTo("fast", 0.3, function() { 
      $('ul.tiles_holder li:nth-child(3n+1)').css("marginLeft", "0"); 
     }); 
    }).mouseout(function() { 
     $(this).fadeTo("fast", 1, function() { 
      $('ul.tiles_holder li:nth-child(3n+1)').css("marginLeft", "0"); 
     }); 
    }); 
}); 

Но что происходит, маржа не удаляется до тех пор, пока происходит Mouseover/выход событие. Как я могу улучшить код?

+0

вы просто пытаетесь удалить край слева от каждого 3-й элемент, независимый от мыши/выхода? Что вы хотите сделать в режиме наведения? – lucuma

+0

Да Мне нужно удалить поле каждого 3-го элемента для правильной компоновки, а функция mouseover/out показывает дополнительную информацию о проекте, когда он наводится на изображение (информация находится на фоне изображения, поэтому уменьшение непрозрачности делает его видимо) – Codename

ответ

0

Поскольку вы не размещать HTML, то трудно сказать точно, но кажется, что вам нужно изменить зыбучий обратный вызов для этого:

$holder.quicksand($filteredData, { 
    duration: 200, 
    easing: 'easeInOutQuad' 
}, function() { 

    $('ul.tiles_holder li:nth-child(3n+1)').css("marginLeft", "0"); 

    $("#center_content .portfolio .tiles_holder .four img").mouseover(function() { 
     $(this).fadeTo("fast", 0.3); 
    }).mouseout(function() { 
     $(this).fadeTo("fast", 1); 
    }); 
}); 
+0

Это сработало ... У меня также были безуспешные попытки: $("#center_content .portfolio .tiles_holder .four img").mouseover(function() { $(this).fadeTo("fast", 0.3); }).mouseout(function() { $(this).fadeTo("fast", 1); }, function(){//n-th child code });); Спасибо большое! – Codename

+0

Часть, удаляющая левую маржу, должна находиться вне событий mouseover/out, потому что она не зависит от них. События просто исчезают и исчезают из вашего изображения, не связанного с оставшейся маркой. – lucuma

Смежные вопросы