单击applyCoupn
按钮时,隐藏容器span
而不是applyCoupn
元素,但在addCoupon
单击按钮时,您正在显示applyCoupn
元素
尝试
$('.addCoupon').click(function(){
$(this).parent('span').siblings('div.coupon').fadeIn(500);
$(this).hide();
$(this).parent('span').siblings('div.coupon').find('.applyCoupn').show();
$(this).parent('span').siblings('div.coupon').find('.cancelCoupn').hide();
})
$('.applyCoupn').click(function(){
$(this).hide();
$(this).parent('span').next('span').find('.cancelCoupn').show();
})
$('.cancelCoupn').click(function(){
$(this).parent('span').parent('div.coupon').slideUp(300);
$(this).hide();
$(this).parent('span').parent('div.coupon').siblings('span').children('.addCoupon').show();
})
演示:小提琴
更好的解决方案将是
<div class="coupon">
<input type="text" name=" " />
<span class="small applyCoupn"><a href="#">Apply !</a></span>
<span class="small cancelCoupn"><a href="#">X</a></span>
</div>
<span class="small addCoupon"><a href="#">Click to Apply coupon code</a></span>
然后
$('.addCoupon').click(function(){
var $this = $(this), $coupon = $this.siblings('div.coupon');
$coupon.fadeIn(500);
$this.hide();
$coupon.find('.applyCoupn').show();
$coupon.find('.cancelCoupn').hide();
})
$('.applyCoupn').click(function(){
var $this = $(this)
$this.hide();
$this.next('span.cancelCoupn').show();
})
$('.cancelCoupn').click(function(){
var $this = $(this), $coupon = $this.closest('div.coupon');
$coupon.slideUp(300);
$this.hide();
$coupon.siblings('span.addCoupon').show();
})
演示:小提琴