php - 在奇数单击和偶数单击链接时创建不同的功能

标签 php jquery html

我有 3 个链接,它们是学生的姓名。第一次或奇数次单击链接时,会出现另一个包含该学生详细信息的 div。第二次或偶数次单击同一链接时,我需要隐藏学生 div。使用 jquery 的 data() 事件对我来说效果非常好。

我的要求是,如果我单击第一个学生链接,则会出现第一个学生详细信息的 div。如果我单击第二个学生链接,则会出现第二个学生的详细信息。如果我再次单击第一个链接,则会出现学生 div隐藏,因为 data() 与其关联(我认为是这样)。但我想让它显示出来,因为之前的点击是在第二个链接上。

我的html是这样的

<a href="" id="24" class="student_link">George</a>

<a href="" id="25" class="student_link">Leo</a>

<a href="" id="26" class="student_link">Kelm</a>

我的jquery:

$("#sections ").on('click','.student_link',function(){
       var clicks = $(this).data('clicks');
      //alert(clicks);
      if (clicks) {
         $("#div_students").hide();
         //alert(1); 
      }
      else
      {
         $("#div_students").show();
         //alert(2);
      }

      $(this).data("clicks", !clicks);
      return false;
   });

也就是说如果我第一次点击George,就会出现学生对应的div,如果我点击Leo而不点击George隐藏div,我需要Leo的div。如果我再次点击George,我需要div应该有乔治的详细信息。但对我来说,div 是隐藏的,因为变量点击对于乔治来说已经是正确的。如果先前的点击不在当前链接上,我需要显示 div。

最佳答案

您可以使用以下代码:

$("#sections").on('click', '.student_link', function () {
    var prevClickedId = $('#sections').data('prevId');

    if (prevClickedId != $(this).attr('id')) {
        // This was not the previous clicked element
    } else {
        // This was the previous clicked element
    }

    $('#sections').data('prevId', $(this).attr('id'));
    return false;
});

关于php - 在奇数单击和偶数单击链接时创建不同的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30216295/

相关文章:

php - 如何获取下拉列表<option>的value属性并在php代码中使用它

php - 如何使用 php 计算字符串的像素长度 - 来 self 网站上的另一个页面

php - 在 PHP 的全局命名空间上下文中运行函数 block

javascript - 可以通过浏览器控制台使用 $.get

html - 如何垂直对齐div内的表格

php curl -k 或 --insecure, -X

jquery - Ajax 加载图标未在 Ajax 功能上显示 - Codeigniter

jQuery:我可以用 $ ('.superset' ).$ ('.within' ) 代替 $ ('.within' , $ ('.superset' )) 吗?

php - 如何使用 PHP 填充组合框中的特定列列表?

javascript - 使用 angular.forEach 的函数过滤 HTML 表来替换许多 if/else 语句