У меня есть с несколькими перечисленными элементами корзины. У меня есть кнопка удаления «Лого Людей Икс», которую я хочу отображать рядом с элементом, когда покупатель наводит курсор на элемент корзины.
У меня не было проблем с тем, чтобы заставить это работать, когда в списке есть только один элемент. Однако, когда в корзине несколько товаров, jQuery работает странно. Он по-прежнему исчезает, но только когда я навожу курсор на последний элемент в корзине, и, конечно, все изображения «удалить X» становятся видимыми. Арх...
Поэтому я поискал и думаю, что .each() — мой спаситель. Я пытался заставить его работать, но безуспешно. Мой сценарий просто ломается, когда я пытаюсь его реализовать.
Кто-нибудь может подсказать, что такое *.each() и как реализовать его в моем скрипте?*
Я попытался поместить cartItem.each(function(){
вокруг событий mouseEnter/mouseLeave (и использовал некоторые селекторы $(this)
, чтобы сделать это «имеющим смысл»), и это ничего не дало. Пробовал и другие вещи, но безрезультатно...
Обычно я делаю каждую кнопку удаления со своим собственным идентификатором вместо использования классов, затем заполняю это значение (i) из нашего файла ASP, а затем дублирую приведенное ниже для каждого, но должен быть другой способ. Это ненужно... не так ли?
Вот HTML (извините, много):
<ul id="head-cart-items">
<!-- Item #1 -->
<li>
<!-- Item #1 Wrap -->
<div class="head-cart-item">
<div class="head-cart-img" style='background-image:url("/viewimageresize.asp?mh=50&mw=50&p=AFE&f=Air_Intakes_Magnum_FORCE_Stage-1_PRO_5R")'>
</div>
<div class="head-cart-desc">
<h3>
<a href="/partdetails/AFE/Intakes/Air_Intakes/Magnum_FORCE_Stage-1_PRO_5R/19029">AFE Magnum FORCE Stage-1 PRO 5R Air Intakes</a>
</h3>
<span class="head-cart-qty">Qty: 1</span>
<span class="head-cart-price">$195.00</span>
<!-- Here is my Remove-X... -->
<a class="remove-x" href='/cart//7806887'>
<img src="/images/misc/remove-x.png">
</a>
</div>
</div>
</li>
<!-- Item #2 -->
<li>
<!-- Item #2 Wrap -->
<div class="head-cart-item">
<div class="head-cart-img" style='background-image:url("/viewimageresize.asp?mh=50&mw=50&p=Exedy&f=Clutch_Kits_Carbon-R")'>
</div>
<div class="head-cart-desc">
<h3>
<a href="/partdetails/Exedy/Clutch/Clutch_Kits/Carbon-R/19684">Exedy Carbon-R Clutch Kits</a>
</h3>
<span class="head-cart-qty">Qty: 1</span>
<span class="head-cart-price">$2,880.00</span>
<!-- Here is my other Remove-X... -->
<a class="remove-x" href='/cart//7806888'>
<img src="/images/misc/remove-x.png">
</a>
</div>
</div>
</li>
</ul>
А вот jQuery...
$(document).ready(function(){
var removeX = $(".remove-x");
var cartItem = $(".head-cart-item");
// Start with an invisible X
removeX.fadeTo(0,0);
// When hovering over Cart Item
cartItem.mouseenter(function(){
// Fade the X to 100%
removeX.fadeTo("normal",1);
// On mouseout, fade it back to 0%
$(this).mouseleave(function(){
removeX.fadeTo("fast",0);
});
});
});
Если вы не видели, вот буква "Х", которую я пытаюсь стереть...
<!-- Here is my Remove-X... -->
<a class="remove-x" href='/cart//7806887'>
<img src="/images/misc/remove-x.png">
</a>
Спасибо за помощь заранее. Вы, ребята, всегда сотрясаете мой мир здесь. Ты мне нужен (не могу вернуться домой, пока это не будет в прямом эфире... :(