【问题标题】:Constrain fixed column width on drag拖动时约束固定列宽
【发布时间】:2014-08-21 21:44:44
【问题描述】:

好的,情况如下:

  • 我正在尝试使用固定宽度(可调整大小)的左侧边栏
  • 侧边栏包含可拖动元素
  • 如果将其中一个元素拖到右侧,则侧边栏列似乎在向右滚动。

为什么会这样?关于如何解决这个问题的任何想法?


小提琴: http://jsfiddle.net/t5nnmh94/


主 HTML:

<div id="main_wrap">
            <div id="sidebar" class="content-fluid">
                <span id="position"></span>
                <div id="dragbar"></div>
                <div id="components"><div class="panel panel-default">
                    <div class="panel-heading">Components</div>
                        <div class="panel-body">

                            <div class="col-xs-6 component-item"><div class="wrp" id="one"><i class="glyphicon glyphicon-envelope"></i><br/>E-mail</div></div>
                            <div class="col-xs-6 component-item"><div class="wrp" id="two"><i class="glyphicon glyphicon-italic"></i><br/>Input</div></div>



                            <div class="col-xs-6 component-item"><div class="wrp" id="three"><i class="glyphicon glyphicon-text-width"></i><br/>Textarea</div></div>
                            <div class="col-xs-6 component-item"><div class="wrp" id="four"><i class="glyphicon glyphicon-file"></i><br/>File Upload</div></div>

                            <div class="col-xs-6 component-item"><div class="wrp" id="five"><i class="glyphicon glyphicon-asterisk"></i><br/>Password</div></div>
                            <div class="col-xs-6 component-item"><div class="wrp" id="six"><i class="glyphicon glyphicon-check"></i><br/>Checkbox</div></div>

                        </div>
                    </div>
                </div>
            </div>
            <div id="content" class="content-fluid">
                <div class="row">
                <div class="col-xs-8" id="maina">
                <div class="panel panel-default" id="droppanel">
                    <div class="panel-heading">Main</div>
                    <div class="panel-body" id="droppanelbody" >
                        <ul class="nav nav-tabs" role="tablist">
                            <li class="active"><a href="#ui-editor" role="tab" data-toggle="tab">UI Editor</a></li>
                            <li><a href="#code" role="tab" data-toggle="tab" data-tab="code">Code</a></li>
                        </ul>

                        <div class="tab-content" style="margin-top:40px;">
                            <div class="tab-pane fade in active" id="ui-editor">
                                <form role="form" id="theform">

                                </form>
                            </div>
                            <div class="tab-pane fade" id="code">
                                <textarea class="form-control" rows="5" id="thecode">

                                </textarea>
                            </div>
                        </div>

                    </div>
                </div>
                </div>
                <div class="col-xs-4" id="options">
                    <div class="panel panel-default">
                        <div class="panel-heading">Options</div>
                        <div class="panel-body">
                            Panel content
                        </div>
                    </div>
                </div>
                </div>
            </div>
        </div>

【问题讨论】:

  • 有没有机会展示一个 jsfiddle.net 来证明这个问题?
  • @RobSchmuecker 刚刚更新了原始问题! :-)

标签: javascript jquery html css


【解决方案1】:

好的,我知道了 - 这样做:

#components{
    overflow: visible;
}

#draggableHelper{
    z-index: 100;
}

.panel{
 z-index: 99;
}

#sidebar{
  overflow: visible;
}

应该可以。

【讨论】:

  • 太棒了。非常感谢,伙计! ;-)
  • 另一个快速(?)一个:知道为什么这个不起作用吗? (83.212.101.132/angjs/ang4.html)。从概念上讲,这是完全相同的事情(设计稍好一些)。但是,无论我如何使用z-indexs 和overflows,我都无法让它工作。 (好吧,如果你看一下代码,你可能会注意到......过度使用 z-indexs 哈哈,但我不是这些东西的专家!哈哈)
  • 好的,为此创建一个新问题。
【解决方案2】:

当您移动面板正文中的项目时,它会更改面板大小以匹配其中的所有内容。 这是默认行为。

你可以试试:

overflow: hidden;

它将隐藏任何可见的溢出并保持块大小不变。

【讨论】:

  • 嗯。刚试过。但这就是:正如预期的那样,滚动不再发生。但是:可拖动元素消失了(因为它隐藏在...溢出部分,我猜)。有什么想法吗?
  • 你在说什么滚动?
  • 正在发生的事情。好吧,无论如何,您的解决方案都解决了这个问题。但是,当将元素拖动到其容器限制之外时,它现在会消失。有什么想法吗?
猜你喜欢
  • 2021-05-24
  • 2019-04-19
  • 2016-06-13
  • 1970-01-01
  • 2011-07-13
  • 1970-01-01
  • 1970-01-01
  • 2015-01-16
  • 1970-01-01
相关资源
最近更新 更多