2016-04-24 4 views
0
var move = function() { 

    var figur_1 = document.getElementById('figur_1'); 

    figur_1.style.top++; 

    window.requestAnimationFrame(move); 

} 

move(); 

Я хочу, чтобы переместить DIV с идентификатором figur_1 над экраном.Перемещение DIV по экрану

Как это можно сделать?

var move = function() { 

    var figur_1 = document.getElementById('figur_1'); 


    figur_1.style.position = 'absolute'; 
    figur_1.style.top += '1px'; 


    window.requestAnimationFrame(move); 

} 

move(); 

не анимация, тоже. Он просто перемещает DIV 1px вниз!

+0

Может ли решение быть jQuery? –

+0

нет, я хочу использовать чистый javascript. –

+0

Возможный дубликат [сделать перемещение div по экрану] (http://stackoverflow.com/questions/16699330/make-a-div-move-across-the-screen) –

ответ

0

Я нашел способ легким и коротким для перемещения элемента с несколькими кодами.

var move = function() { 

    var figur_1 = document.getElementById('figur_1'); 

    figur_1.style.position = "absolute"; 
    figur_1.style.top = "100px"; 
} 

move(); 

var move = function() { 
 

 
    var figur_1 = document.getElementById('figur_1'); 
 

 
    figur_1.style.position = "absolute"; 
 
    figur_1.style.top = "100px"; 
 
} 
 

 
move();
<div id="figur_1">TEST</div>

т Вы также можете использовать .style.bottom/top/left/right

0

Вы не можете достичь этой функциональности одной функцией. Вам нужно работать хотя бы с двумя функциями. Один из них - mousedown, а другой - mouseup. Потому что вы больше не хотите перетаскивать действие после того, как пользователь выпустит ключ мыши.

HTML:

<div id="figur_1"> 
    This div is movable. Lets try dragging. 
</div> 

CSS:

#figur_1{ 
    position: absolute; 
    height: 100px; 
    width: 100px; 
    background: #0000ff; 
    left: 0px; 
    top: 0px; 
    color: yellow; 
    cursor: move; 
} 

JS:

figur_1.onmousedown = function (e) { 
    var figur_1 = document.getElementById("figur_1"); 

    var left = parseInt(window.getComputedStyle(figur_1).getPropertyValue("left")); 
    var top = parseInt(window.getComputedStyle(figur_1).getPropertyValue("top")); 
    var mouseX = e.clientX; 
    var mouseY = e.clientY; 

    document.onmousemove = function (e) { 
     var dx = mouseX - e.clientX; 
     var dy = mouseY - e.clientY; 

     figur_1.style.left = left - dx + "px"; 
     figur_1.style.top = top - dy + "px"; 
    }; 
}; 

figur_1.onmouseup = function() { 
    document.onmousemove = null; 
}; 

Вот это рабочий jsfiddle: https://jsfiddle.net/sajibche/4xfuemrb/

+0

извините, но я не хотел перетаскивать n падение div. я хотел, чтобы он просто перемещался по экрану. –

Смежные вопросы