我想显示锚的某个div onclick,然后我想再次隐藏锚的div onclick,下面是我的代码:
jQuery('.mycart').click(function(e){
e.preventDefault();
var target = jQuery(".basket");
if(target.is(':visible'))
jQuery('.basket').css('cssText', 'display: none !important');
else
jQuery('.basket').css('cssText', 'display: block !important');
});
jQuery(document).mouseup(function (e){
var container =jQuery(".basket");
if (!container.is(e.target) // if the target of the click isn't the container...
&& container.has(e.target).length === 0) // ... nor a descendant of the container
{
container.hide();
}
});
网址:
<a class="cart mycart" href="#">My Cart</a>
<div class="basket">
<span class="callout-arrow"></span>
<div class="basketcount"><span>5</span></div>
<button type="button" class="checkoutbtn">checkout</button>
</div>
div在单击时成功显示,但不会再次隐藏。这个问题是由第二个函数引起的,当用户在容器外单击时,该函数隐藏了容器。
4条答案
按热度按时间zour9fqk1#
你的代码有效。我已经添加了两个其他的解决方案,无论如何:
http://codepen.io/damianocel/pen/avjVGQ
我已经评论了一个,只是试着看看你最喜欢哪一个。
dldeef672#
在jQuery中使用此代码
g6ll5ycj3#
我找到了解决方案,只是通过阻止mouseup()函数来隐藏容器,如果点击的目标是锚
$('.mycart')
,所以当用户点击这个锚时,这个锚的click()函数将正常应用并隐藏容器,如果它显示的话,这是新的jquery:xv8emn3q4#
试试这个...