![](/img/trans.png)
[英]How to keep a div stuck in the same spot while the rest of page is scrolled?
[英]Javascript movable div - keep mousedown from interacting with rest of text on page while div moving
我正在嘗試制作一個可移動的div。 我知道這是jQuery的一個襯板,但我不想為此功能添加100k +。 我下面的內容起作用,除了當div移動頁面上的其余文本時,就像鼠標按下並在其上拖動(當然是鼠標拖動)一樣,因此文本隨着鼠標變為突出顯示或未突出顯示動作。 有沒有相對“簡單”的純javascript解決方案?
順便說一句:感謝jnoreiga的代碼。
window.onload = addListeners;
function addListeners(){
document.getElementById('moveme').addEventListener('mousedown', mouseDown, false);
window.addEventListener('mouseup', mouseUp, false);
}
function mouseUp()
{
window.removeEventListener('mousemove', divMove, true);
}
function mouseDown(e){
window.addEventListener('mousemove', divMove, true);
}
function divMove(e){
var div = document.getElementById('moveme');
div.style.position = 'absolute';
div.style.top = e.clientY + 'px';
div.style.left = e.clientX + 'px';
}
和一些測試HTML
<div id="moveme" style="width:100px; background-color:red">Test<br><br>Some more text</div>
<div style="position:absolute; top:100px; left:50px;">
<h1>Curriculum</h1>
<ul>
<li><a href="#">Math</a></li>
<li><a href="#">Geometry</a></li>
<li><a href="#">Physics</a></li>
</ul>
</div>
我在這里可以找到向我展示如何使其工作的代碼。 問題似乎在於將OnMouseDown設置為要移動的div。 如果將OnMouseDown設置為window,則可以克服突出顯示(本教程顯示了方法)。 我必須修改顯示的代碼以搜索樹以找到被單擊的父div(例如,如果div中的某個元素正在將mousedown而不是div本身占用)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.