javascript - Jquery + CSS 根据视口(viewport)宽度大小显示/隐藏表格元素

标签 javascript jquery html css

如果有人可以就我的问题提出建议,我将不胜感激。 我的密码 JSFiddle

我有模型列表和在多个类别中变化的相应值。我有一个显示此数据的简单表格。但是,当我的视口(viewport)宽度为 <=640 px 时,我需要更改表结构, 以仅显示 1 个类别并使其可点击,以便值可以更改。

我在调整屏幕大小时出现问题。当我的屏幕尺寸是 <=640 px然后我点击类别(值正在改变)并调整回更大的屏幕尺寸,我的表格应该再次显示所有值。如果您能帮我解决一些 jquery 问题,我将不胜感激。

JS:

$('a.cashback-btn').click(function(event) {
  if ($(this).hasClass('active')) {
    $('.cashback-block .cash-table').slideUp('fast');
    $(this).find('i').removeClass("fa-chevron-up");
    $(this).find('i').addClass("fa-chevron-down");
    $(this).removeClass('active');
  } else {
    $('.cashback-block .cash-table').slideDown('fast');
    $(this).find('i').removeClass("fa-chevron-down");
    $(this).find('i').addClass("fa-chevron-up");
    $(this).addClass('active');
    $('html, body').animate({
      scrollTop: $('a.cashback-btn').offset().top
    }, 1000);
  }
});

var medalsCnt = 1; // 1-3, 4-6, 7-10, >10
var medalsMsg = "1-3 category";
$('.cash-table th.mobile').click(function() {
  medalsCnt++;
  $('.cashback-block table td:not(:first-child)').hide();
  if (medalsCnt == 2) {
    medalsMsg = "4-6 category";
    $('.cashback-block table td:nth-child(3)').show();
  } else if (medalsCnt == 3) {
    medalsMsg = "7-10 category";
    $('.cashback-block table td:nth-child(4)').show();
  } else if (medalsCnt == 4) {
    medalsMsg = "more 10 category";
    $('.cashback-block table td:nth-child(5)').show();
  }
  if (medalsCnt > 4) {
    medalsCnt = 1;
    medalsMsg = "1-3 category";
    $('.cashback-block table td:nth-child(2)').show();
  }
  $(this).find('span').text(medalsMsg);
});

更新

$( window ).resize(function () {
     if($('.mobile-version').is(":visible")){
        return; //need to show/hide only one column based on category selected
     }
     else{
        $('.cashback-block table td').show(); //works ok, but now mobile version is not working
     }
  });

最佳答案

var wW = $(window).width();
if(wW <= 640){
    // get tr that you want to be clickable
    // add event click
        // run code
}

使用 css 中的媒体查询来更改表格的样式。隐藏您不想显示的所有表格行。

关于javascript - Jquery + CSS 根据视口(viewport)宽度大小显示/隐藏表格元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38429122/

相关文章:

javascript - 如何在 javascript/jquery 中转义小于登录?

javascript - 印象.js : CSS3 select one id within another

jquery - IE11 的对齐问题

javascript - 如何创建包含索引的 CSS 选择器元素

html 模板 + json 数据 -> 静态 html 部署

javascript - sqlexception消息显示导致页面错误

javascript - 在 document.GetElementByID ('input' ).value = 'data[0]' 期间 DecodeForHTML,使用动态数组数据

javascript页面加载发生在按钮单击时

javascript - 从 Google +1 按钮共享时指定图像

javascript - Window.print() 函数弄乱了表格