javascript - 取消固定后输入位置
问题描述
我有一个输入,我想放置在我每次在其他任何地方用鼠标单击的屏幕的任何区域。
$("*").mouseup(function(e) {
var x, y;
x = e.clientX;
y = e.clientY;
$(".myInput").css({
"position": "fixed",
"z-index": "100",
"margin-top": y,
"margin-left": x
});
});
通过上面的代码,输入确实到达了我想要的位置,但是因为它固定了位置,所以它随着屏幕的滚动而移动。
我尝试了所有的位置选项。
在此先感谢您的帮助。
解决方案
您可以使用absolute
而不是在fixed
滚动时阻止它粘住页面。
使用
window.scrollY
并将其添加到您e.clientY
以使您Y-Pos
与卷轴相关。
另外,使用top
&left
而不是使用margin-top
& margin-left
。
$(document).mouseup(function(e) {
var x, y;
x = e.clientX;
y = e.clientY + window.scrollY;
$(".myInput").css({
"position": "absolute",
"z-index": "100",
"top": y,
"left": x
});
});
div {
height: 1000px;
}
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="myInput" />
<div></div>
推荐阅读
- azure-devops - azure devops 变量组
- javascript - 为什么这个动画不起作用。css/javascript
- html - 无法在 css 上居中文本页脚
- opencv - OpenCV 图像在使用 * 255 取消归一化后显示奇怪的眩光
- angularjs - 使用 mongo 查询的 Angular JS 代码未将查询结果发布到 UI
- javascript - 如何在表单验证中使用创建元素显示错误消息?
- python-3.x - 如何将 [1, [2, 3, 4], 5 ] 等列表列表转换为 [[1,2,5], [1,3,5], [1,4,5]] 中的列表Python?
- python - 如何检测音频文件中重叠扬声器的存在(并计算范围)?
- javascript - 函数中的switch语句不分配变量
- android - Navigator.push 在 Stack 上复制屏幕