javascript - 切换列表和 GridView

标签 javascript jquery listview gridview

我使用 jQuery 制作了一个简单的切换列表/ GridView 。我的问题是如何使这段代码即 jQuery 更高效(更好的编码)?这是一些基于我项目中的代码的虚拟代码:

HTML:

<div class="toggle-view">
  <span class="list l-active">List view</span>
  <span class="grid">Grid view</span>
</div>

<ul id="listing-view">
  <li>Listing Block</li>
  <li>Listing Block</li>
  <li>Listing Block</li>
  <li>Listing Block</li>
  <li>Listing Block</li>
  <li>Listing Block</li>
  <li>Listing Block</li>
  <li>Listing Block</li>
</ul>

CSS:

.toggle-view span {
  color: #00804e;
  cursor: pointer;
}

.toggle-view .l-active {
  color: #c4c3c1;
  cursor: auto;
}

.list-view li {
  width: 100%
}

.grid-view li {
  float: left;
  width: 50%;
}

jQuery:

$('.toggle-view span').on('click', function() {
  if ($(this).hasClass('grid')) {
    $('#listing-view').addClass('grid-view');
    $('.toggle-view span').addClass('l-active');
    $('.toggle-view span.list').removeClass('l-active');
  } else if ($(this).hasClass('list')) {
    $('#listing-view').removeClass('grid-view');
    $('.toggle-view span').addClass('l-active');
    $('.toggle-view span.grid').removeClass('l-active');
  }
});

最佳答案

看到这个...

$('.toggle-view span').on('click', function() {
  if ($(this).hasClass('grid')) {
    $('#listing-view').addClass('grid-view');
    $('.toggle-view .list').removeClass('l-active');
  } else {
    $('#listing-view').removeClass('grid-view');
    $('.toggle-view .grid').removeClass('l-active');
  }
  $(this).addClass('l-active');
});

问候。

关于javascript - 切换列表和 GridView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14356184/

相关文章:

javascript - 如何为 jquery 对话框应用自定义主题?

javascript - 将结果限制为小数点后 2 位

javascript - 带有文件上传文本的弹出窗口

javascript - 无法在 AngularJS 中实例化模块

javascript - 提交html表单时为空

html - 动态生成的 super 菜单布局

android - DialogFragment + listview = getView 调用次数过多

java - 单击 3 次后删除 ListView 项目

java - 当我添加不存在的字符串时,过滤后的 ListView 应该为空

javascript - 在 hapi.js 中,身份验证方案和策略有什么区别?