【发布时间】:2021-10-06 17:07:45
【问题描述】:
我有一个绝对定位的侧面板,我需要通过拖动此边框来更改其宽度。我还需要在边框悬停时更改光标。是否可以在不添加另一个 div 进行拖动的情况下执行此操作?
这里是标记:
#right_panel {
position: absolute;
border-left: solid 3px #ccc;
width: 100px;
height: 100%;
right: 0;
background-color: #f0f0f0;
}
<body>
<div id="right_panel"></div>
</body>
我不需要完整的解决方案。 A 是(有文档参考)/否回答就足够了。我不需要帮助者div 的答案。我已经有一个了:
var m_pos;
function resize(e){
var parent = resize_el.parentNode;
var dx = m_pos - e.x;
m_pos = e.x;
parent.style.width = (parseInt(getComputedStyle(parent, '').width) + dx) + "px";
}
var resize_el = document.getElementById("resize");
resize_el.addEventListener("mousedown", function(e){
m_pos = e.x;
document.addEventListener("mousemove", resize, false);
}, false);
document.addEventListener("mouseup", function(){
document.removeEventListener("mousemove", resize, false);
}, false);
#right_panel {
position: absolute;
width: 96px;
padding-left: 4px;
height: 100%;
right: 0;
background-color: #f0f0f0;
}
#resize {
background-color: #ccc;
position: absolute;
left: 0;
width: 4px;
height: 100%;
cursor: w-resize;
}
<body>
<div id="right_panel">
<div id="resize"></div>
</div>
</body>
这也是我想要的功能,只是我想删除多余的div。
【问题讨论】:
-
我假设您的意思是“拖动”。您是否有任何 Javascript 或您要求我们为您编写它?
-
至少显示一些你已经尝试过但没有工作的代码
-
我在问它是否可能以及一些建议。我不需要解决这个问题,因为我已经有了另一个 div 的解决方案,用于拖动和调整父 div 的大小。我只想使标记更清洁。这是另一个 div 的解决方案:jsfiddle.net/kxr96dzg/1 抱歉。英语不是我的母语。
-
我提供了我的代码。你现在可以帮忙吗?
-
@Anton 万一你错过了,我添加了一个可能对你有用的答案(有点晚,但我希望它有帮助!) -- stackoverflow.com/a/53220241/428486
标签: javascript html css