管理javascript无法正常工作:控制侧边栏(右侧边栏没有推送内容)

时间:2018-03-20 12:03:45

标签: javascript yii2 yii2-advanced-app yii-extensions adminlte

我的侧边栏: (在frontend / views / layouts / content.php中)

 <aside class="control-sidebar control-sidebar-light control-sidebar-open hidden-xs" style="position:fixed">

...

</aside><div class="control-sidebar-bg  hidden-xs"></div>

有关如何推送内容而不是幻灯片的说明:

$("#my-toggle-button").controlSidebar(options);

https://github.com/almasaeed2010/AdminLTE/issues/739

我尝试按照说明操作: (在frontend / views / layouts / main.php中) ...

<script>
            // Enable or disable bootstrap tooltips globally, based on touch vs non-touch device
            if( "ontouchstart" in window || window.DocumentTouch && document instanceof DocumentTouch )
            {
                // Touch-screen. Disable tooltips!
                var AdminLTEOptions = {
                    enableBSToppltip: false,
                    [b]controlSidebarOptions[/b]: {slide:false}                    
                };
            }
            else
            {
                // Non-touch-screen. Enable tooltips!
                var AdminLTEOptions = {
                    enableBSToppltip: true,
                    controlSidebarOptions: {slide:false}
                };
            }
        </script>
<?php
    dmstr\web\AdminLteAsset::register($this);

... (基本上我在加载资产之前修改了AdminLTEOptions) 基于:https://adminlte.io/themes/AdminLTE/documentation/index.html#adminlte-options

问题:它不起作用,内容未被推送,但隐藏在侧边栏后面。

如果我对课程进行硬编码&#39; control-sidebar-open&#39;进入body元素侧边栏正确将内容推向左侧,但是一旦你隐藏并显示侧边栏,类就不会神奇地将其自身添加回body元素,然后内容隐藏在右侧边栏后面(控件) -sidebar)

我可以&#39; hack&#39;它通过使用javascript每次再次显示侧栏时将类添加回body元素,但我宁愿使用自动执行此操作的实际插件设置。 : - )

感谢您的帮助。

PS。可能没有必要,但这里是我的按钮代码的一部分,使侧边栏显示/隐藏:

 id='collapsable-button' data-toggle="control-sidebar"

我用过: https://github.com/dmstr/yii2-adminlte-asset 它在yii2-app-advanced中非常有效。

1 个答案:

答案 0 :(得分:0)

不知道这是否迟到。

但是由于AdminLTE的文档已过时。最后,我必须深入研究它的源代码,以了解事情的进展。

在其app.js中说:

/* ControlSidebar()
 * ===============
 * Toggles the state of the control sidebar
 *
 * @Usage: $('#control-sidebar-trigger').controlSidebar(options)
 *         or add [data-toggle="control-sidebar"] to the trigger
 *         Pass any option as data-option="value"
 */

所以您可以尝试一下,它对我有用:

<a data-toggle="control-sidebar" data-slide="false">