drqj8605 2014-12-21 03:29
浏览 184

网格视图列表视图切换

I currently have a page that list products in list format I would like to be able to toggle between the two views. The list is populated dynamically.

Below their is a static ul and I would like to populate dynamically.

$('button').on('click',function(e) {
    if ($(this).hasClass('grid')) {
        $('#container ul').removeClass('list').addClass('grid');
    }
    else if($(this).hasClass('list')) {
        $('#container ul').removeClass('grid').addClass('list');
    }
});

<div id="container">
    <div class="buttons">
        <button class="grid">Grid View</button>
        <button class="list">List View</button>
    </div>

    <ul class="list">
        <li>Item 1</li>
        <li>Item 2</li>
        <li>Item 3</li>
        <li>Item 4</li>
        <li>Item 5</li>
        <li>Item 6</li>`enter code here`
        <li>Item 7</li>
    </ul>
</div>    
  • 写回答

1条回答 默认 最新

  • douyong2531 2017-01-09 12:37
    关注

    <script type="text/javascript">
        $(document).ready(function(){
        $("a.switcher").bind("click", function(e){
            e.preventDefault();     
            var theid = $(this).attr("id");
            var theproducts = $("ul#products");
            var classNames = $(this).attr('class').split(' ');
            if($(this).hasClass("active")) {
                return false;
            } else {
                if(theid == "gridview") {
                    $(this).addClass("active");
                    $("#listview").removeClass("active");
                    $("#listview").children("img").attr("src","images/list-view.png");
                    var theimg = $(this).children("img");
                    theimg.attr("src","images/grid-view-active.png");
                    theproducts.removeClass("list");
                    theproducts.addClass("grid");
                }           
                else if(theid == "listview") {
                    $(this).addClass("active");
                    $("#gridview").removeClass("active");                   
                    $("#gridview").children("img").attr("src","images/grid-view.png");                  
                    var theimg = $(this).children("img");
                    theimg.attr("src","images/list-view-active.png");
                    theproducts.removeClass("grid")
                    theproducts.addClass("list");
                } 
            }
        });
    });
    </script>
    <table style="float: right;">
                        <tr><td><a href="#" id="gridview" class="switcher"><img src="images/grid-view.png" alt="Grid"></a></td><td>&nbsp;&nbsp;</td><td><a href="#" id="listview" class="switcher active"><img src="images/list-view-active.png" alt="List"></a></td>
                        </tr>
                    </table>

       `

    </div>
    
    评论

报告相同问题?

悬赏问题

  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示