【问题标题】:How do i change table/grid view to tile view如何将表格/网格视图更改为平铺视图
【发布时间】:2013-05-02 06:12:07
【问题描述】:

我有一个 html 代码,我想使用 jquery 更改它的视图(从表格视图到平铺视图)。 我使用 jquery "addclass" 和 "removeclass" 方法,我也尝试使用 "wrap" 和 "unwrap" 方法来更改类。

这是我的代码。

HTML(链接按钮点击)

<a href="#" id="button"> <img src="images/icon_roleview3.png" onmouseover="this.src='images/icon_roleview3_hover.png'" onmouseout="this.src='images/icon_roleview3.png'"></a>

HTML(表格代码)

<div class="rolesboxstart">
    <div class="overflowscroll">
    <table width="100%" border="0" cellspacing="0" cellpadding="0" class="tablestyle" style="overflow-x: scroll;" id = "tablestyle">
      <tr id = "tabletr">
        <td width="22%" class="tableviewtop">title1</td>
        <td width="12%" class="tableviewtop textaligncenter">title2</td>
        <td width="14%" class="tableviewtop textaligncenter">title3</td>
        <td width="6%" class="tableviewtop textaligncenter">title4</td>
      </tr>
      <tr>
        <td><a href="#"">data1</a></td>
        <td class="textaligncenter">data2</td>
        <td class="textaligncenter">data3</td>
        <td class="textaligncenter">data4</td>
      </tr>
      <tr>
        <td><a href="#"">data1</a></td>
        <td class="textaligncenter">data2</td>
        <td class="textaligncenter">data3</td>
        <td class="textaligncenter">data4</td>
      </tr>
    </table>
    </div>
</div>

输出(表格/网格视图)

 ---------------------------------------------------
| **title1** | **title2** | **title3** | **title4** |
 ---------------------------------------------------
|   data1    |    data2   |     data3  |     data4  |
 ---------------------------------------------------
|   data1    |    data2   |     data3  |     data4  |
 ---------------------------------------------------

Jquery 代码(用于添加和删除类)

$(function() {
     $( "#button" ).click(function() {
        $("#tablestyle").removeClass("tablestyle tableviewtop textaligncenter");
        document.getElementById('tabletr').style.display='none'; // hide table data
        $("#tablestyle").addClass("rolesbox");
        $(".textaligncenter").addClass("title");
        $("#tabletr").addClass("content");
        /*console.log("unwrap classes");
        $('table').contents().unwrap();// remove (unwrap) talbe view classes
        console.log("wrap new classes");
        $('.tableviewtop').wrap('<div class="title" />');
        console.log("done");
        return false;*/
    });
});

我希望它在平铺视图中

   __________             ___________          ______________
  |          |           |           |        |              |
  |          |           |           |        |              |
  |__________|           |___________|        |______________|

JS 小提琴

http://jsfiddle.net/tutorialdrive/Xxqq5/

【问题讨论】:

  • 那么现在到底是什么问题?
  • 使用这个 jquery 我可以从表中添加和删除类,但不能使用添加平铺视图类来更改其视图。
  • 平铺视图是什么意思??
  • 你的css在哪里?如果displaynone,那么在$("#tabletr").addClass("content"); 中添加类需要什么?
  • @ShivamPandya:我想你应该检查一下可以将表格视图转换为平铺视图的 CSS 类。` .tile { display: block;向左飘浮;边距:7.5px;背景:#B50000; } `

标签: javascript jquery html jquery-ui


【解决方案1】:

CSS:

.tiled { float: left; margin: 7.5px; background: #B50000; } 

JS:

$(function() {
     $( "#button" ).click(function() {
        $("#tablestyle").removeClass("tablestyle tableviewtop textaligncenter");
        document.getElementById('tabletr').style.display='none';
        $("#tablestyle").addClass("rolesbox");
        //$(".textaligncenter").addClass("title");
         $(".tile td").addClass("title");
         $(".tile").addClass("tiled");
        $("#tabletr").addClass("content");

    });
});

JSFiddle:

Working code

【讨论】:

    猜你喜欢
    • 2012-01-18
    相关资源
    最近更新 更多