gpt4 book ai didi

javascript - 防止子 div 在 div 切换时移动

转载 作者:行者123 更新时间:2023-11-27 23:53:40 25 4
gpt4 key购买 nike

我是新手,我认为要解决的问题非常简单。

我有 4 个按钮来显示/隐藏每个面板。我应该怎么做才能防止子 div 在隐藏一些 div 时向左移动?我更喜欢他们留在初始位置。

这是我的代码:

HTML:

    <button class="panel-button" data-panel="panel1">1</button>
<button class="panel-button" data-panel="panel2">2</button>
<button class="panel-button" data-panel="panel3">3</button>
<button class="panel-button" data-panel="panel4">4</button>
<div class="wrapper">
<div id="panel1">1</div>
<div id="panel2">2</div>
<div id="panel3">3</div>
<div id="panel4">4</div>
</div>

JS:

        $(function() {
$('.panel-button').on('click',function(){
var panelId = $(this).data('panel');// attr('data-panel')
$('#'+panelId).toggle();
});
});

CSS:

.wrapper {
overflow: hidden;
width: 420px;
}

.wrapper > div {
width: 100px;
height: 100px;
background: green;
float: left;
margin-left: 5px;
margin-top: 10px
}

最佳答案

将 css 规则 opacity = 0; 应用到 div,而不是隐藏它。
像这样:

$('.panel-button').on('click',function(){
var pnl = $('#' + $(this).data('panel'));
pnl.css('opacity', pnl.css('opacity') == '0' ? '1' : '0');
});

可点击性问题的解决方案:

$('.panel-button').on('click',function(){
var pnl = $('#' + $(this).data('panel'));
if(pnl.is(':visible'))
$('<div></div>').appendTo(pnl).width(pnl.width());
else
pnl.next().remove();
pnl.toggle();
});

关于javascript - 防止子 div 在 div 切换时移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25379661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com