zoukankan      html  css  js  c++  java
  • LayaBox入门基础之JS代码实现序号逻辑

    2.2 编写代码逻辑

    2.2.1 实现List序号逻辑

    ​ 要实现List序号的数据添加,需要用到“laya.ui.List” API中的list数据源赋值array,单元格渲染处理器renderHandler,以及“laya.display.Node ”API下通过子节点名字获取子节点对象的方法getChildByName。我们先看下API说明:如图19、图20、图21。

    ​ 19
    ​ (图19)

    ​ 20
    ​ (图20)

    ​ 21
    ​ (图21)

    List序号添加代码如下:

    (function()
    {
        var Stage= Laya.Stage;
        var Handler= Laya.Handler;
        var Loader= Laya.Loader;
        var WebGL = Laya.WebGL;
         var ListDemoView;
         var arr;
        (function()
        {
             Laya.init(640,1136,WebGL);
             Laya.stage.bgColor = "#ffffff";
             Laya.stage.scaleMode = Stage.SCALE_SHOWALL;
              //预加载资源文件后执行回调
             Laya.loader.load(["res/atlas/ListPage.atlas","res/atlas/template/ButtonTab.atlas"], Handler.create(this, onLoaded));
        })();
        function onLoaded(){
            ListDemoView = new ListPageUI();
            Laya.stage.addChild(ListDemoView);
            //获得List模拟数据,并渲染
             getListData(); 
        }
        function getListData(){
            //添加list数据
            arr = [];
            for (var i  = 1; i <= 30; i++) {
                arr.push({listNumber: {text:i}});
               }
            ListDemoView._list.vScrollBarSkin='';//添加list滚动条功能(UI不可显示)
            ListDemoView._list.array = arr;//数据赋值
             //list渲染函数
              ListDemoView._list.renderHandler = new Handler(this, onRender);
        }
        function onRender(cell,index){
             //如果索引不再可索引范围,则终止该函数
            if(index > arr.length)return;
            //获取当前渲染条目的数据
            var data = arr[index];
            //根据子节点的名字listNumber,获取子节点对象。         
            var listNumber = cell.getChildByName("listNumber") ;
            //label渲染列表文本(序号)
            listNumber.text=data.listNumber.text;
        }
    })();

    代码运行结果如图22所示,成功实现了序号数据的带入。具体实现逻辑与代码说明直接查看代码和注释。

    ​ 22
    ​ (图22)

    2.2.2 实现List序滚动
    ​ 30条模拟数据在上面的示例运行后,只能看到16条。所以我们需要增加一个滚动效果。laya.ui.List的API中vScrollBarSkin可以满足我们的需求,API说明如图23:

    ​ 23
    ​ (图23)
    该功能增加只需一行代码,就不粘全部代码了,将下面代码放到赋值列表数据源之前。

    //添加list滚动条功能
    listView._list.vScrollBarSkin='';

    再次运行效果如图24所示:

    ​ 24
    ​ (图24)

  • 相关阅读:
    Django 中间件
    Django之ORM介绍
    ORM相关操作
    Django Form表单
    Django REST framework 中文文档
    前端基础之BOM和DOM
    Django--ORM(2)
    Django--视图
    Django--路由系统
    Django--模板语言
  • 原文地址:https://www.cnblogs.com/hqutcy/p/10103894.html
Copyright © 2011-2022 走看看