$(function(){ $(".head-title span").click(function(){ history.go(-1); }); $(".tab_coupon div").click(function(){ $(".tab_coupon div").removeClass("active"); $(this).addClass("active"); var type = $(this).data("type"); $(".list_coupon div").each(function(n){ $(this).hide(); if(n + 1 == type) $(this).show(); }); });
时间: 2024-04-25 12:27:40 浏览: 135
这是一段jQuery代码,用于实现交互功能。代码中包含两个事件处理函数:
1. 当".head-title span"元素被点击时,会执行一个匿名函数,该函数调用了history.go(-1)方法,用于返回上一页。
2. 当".tab_coupon div"元素被点击时,会执行另一个匿名函数。该函数首先移除所有".tab_coupon div"元素的"active"类,然后为当前被点击的元素添加"active"类。接着,根据被点击元素的"data-type"属性值,遍历".list_coupon div"元素,并为"data-type"属性值与当前点击元素相等的元素显示出来,其他元素则隐藏起来。
相关问题
<div class="content"> <div class="tab_coupon"> <div data-type="3">已过期<p></p></div> <div data-type="2">已使用<p></p></div> <div class="active" data-type="1">待使用<p></p></div> </div></div> $(function(){ $(".head-title span").click(function(){ history.go(-1); }); $(".tab_coupon > div").off('click').click(function(){ $(".tab_coupon div").removeClass("active"); $(this).addClass("active"); var type = $(this).data("type"); $(".list_coupon div").each(function(n){ $(this).hide(); if(n + 1 == type) $(this).show(); }); }); 此处代码如何修改成点击文字才会触发点击事件
您可以将点击事件绑定到div内部的文本元素上,而不是绑定到整个div元素上。例如:
```
<div class="tab_coupon">
<div data-type="3"><p>已过期</p></div>
<div data-type="2"><p>已使用</p></div>
<div class="active" data-type="1"><p>待使用</p></div>
</div>
```
```
$(".tab_coupon > div > p").off('click').click(function(){
$(".tab_coupon div").removeClass("active");
$(this).parent().addClass("active");
var type = $(this).parent().data("type");
$(".list_coupon div").each(function(n){
$(this).hide();
if(n + 1 == type) $(this).show();
});
});
```
这样,点击div内部的文本元素时才会触发点击事件,而不是整个div元素。
阅读全文