【问题标题】:why does my dojo heading overlay my roundRectList?为什么我的道场标题会覆盖我的roundRectList?
【发布时间】:2013-05-19 18:06:51
【问题描述】:

我生成了一个滚动视图,里面有一个标题和一个圆形矩形列表。一切正常,但标题不固定,所以我用 addFixedBar 替换标题的 addchild。现在标题是固定的,但它覆盖了 RoundRectList。该列表的上端超出标题,我无法阅读。 如何让列表变小?

if (parentNodeId !== previousParentNodeId){
        var newDiv = new dojox.mobile.ScrollableView({
                    id: divNodesId,
                    dojoType: "dojox.mobile.ScrollableView",
                    scrollDir: "v",
                    style: "background-color: #d0d0d0"
        });
        newDiv.placeAt('mobileView','first');

        //look if there is a previous parent, only if there is one generate back button; needed for root div
        if (previousParentNodeId == null){
            var newHeading = new dojox.mobile.Heading({
                        id: h1NodesId,
                        dojoType: "dojox.mobile.Heading",
                        fixed: "top",
                        label: "Knotenübersicht"
            });
        }
        else {//create heading with back button
                        var newHeading = new dojox.mobile.Heading({
                        id: h1NodesId,
                        dojoType: "dojox.mobile.Heading",
                        back: "zurück",
                        moveTo: previousParentNode,
                        fixed: "top",
                        label: divNodeLabel
            });
        }

        //newHeading.placeAt(divNodesId,'first');
        newDiv.addFixedBar(newHeading);
        newHeading.startup();

        ulNodesId = "ulNodes"+parentNodeId;
        var newUl = new dojox.mobile.RoundRectList({
                    id: ulNodesId,
                    dojoType: "dojox.mobile.RoundRectList"
        });
        newUl.placeAt(divNodesId,'last');
    }

【问题讨论】:

    标签: dojo css-position dojox.mobile


    【解决方案1】:

    尝试将 css 样式属性直接添加到 RoundRectList 的标签中

    例如:

    <div id="divNodesId" style="z-index: 1;position: relative;top: 15px;"></div>
    

    您也可以尝试将相同的样式添加到:

        var newUl = new dojox.mobile.RoundRectList({
                    id: ulNodesId,
                    dojoType: "dojox.mobile.RoundRectList",
                    style: "z-index: 1;position: relative;top: 15px;"
        });
    

    使用 css 位置来移动它,或者只使用 z-index 来查看它。

    也许尝试添加宽度和高度 css 以获得您想要的??:

        var newDiv = new dojox.mobile.ScrollableView({
                    id: divNodesId,
                    dojoType: "dojox.mobile.ScrollableView",
                    scrollDir: "v",
                    style: "width: 800px,height: 90px;background-color: #d0d0d0"
        });
    

    您也可以使用 css left,right,bottom。使用 + 或 - px 数字找到您想要的位置。虽然不确定如何使列表更小,但您可能不需要使用上面的 css 内容。没有完整的例子很难说..

    【讨论】:

      【解决方案2】:

      您的代码中有许多需要更改的地方,包括:

      • 添加对ScrollableView的startup()方法的调用(放置 在将视图添加到 DOM 之后)。
      • 要将 RoundRectList 添加到 ScrollableView,例如使用 newUl.placeAt(newDiv.containerNode); (我使用您的变量的名称,它们分别保存 RoundRectList 和 ScrollableView 的实例。请注意,该列表已添加到 ScrollableView 的 containerNode)。
      • 删除 dojoType 构造函数参数(这不适用于 程序化实例化)。

      最简单的方法是您获得灵感或将您的代码与 dojox/mobile/tests/test_dynamic-ScrollableView-vh-vf.html(您可以找到源代码分发)进行比较。该测试完全符合您的要求。

      【讨论】:

        猜你喜欢
        • 2021-04-13
        • 2016-11-14
        • 2012-10-15
        • 1970-01-01
        • 1970-01-01
        • 2022-10-25
        • 2019-07-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多