..:: MX Studio Fóruns ::..: Drag-n-drop - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Drag-n-drop Peguem um código de drag-n-drop grátis

#1 User is offline   Micox 

  • Group: Membros
  • Posts: 100
  • Joined: 14-January 04

Posted 24 January 2004 - 12:40 AM

Aí galera...

Criei o seguinte conjunto de funções para dar um efeito de drag-n-drop em um layer. Quem quiser utilizá-lo, tá aí. Só nao esqueçam de colocar meu nome nos créditos. smile.gif

O seguinte: só testei no IE 5.0, por isso nao sei se vai funcionar bem em outros navegadores. Se alguém puder fazer os testes pra verificar se dá algum erro, eu agradeço.

Quem quiser contribuir melhorando esse conjunto de funçoes é bem vindo.

CODE

/****************************************************
Drag-n-Drop 1.0
24/01/2004
by Micox-naironjcg@hotmail.com
****************************************************/
function move(){
var pos_alvo_y,pos_nova_y,pos_alvo_x,pos_nova_x;
pos_alvo_y = document.all[quem_movimenta_mico_editor].style.top
pos_alvo_y = pos_alvo_y.substr(0,pos_alvo_y.indexOf("px"))*1
pos_nova_y = pos_alvo_y + (event.clientY-pos_antiga_y)
document.all[quem_movimenta_mico_editor].style.top = pos_nova_y
pos_antiga_y = event.clientY

pos_alvo_x = document.all[quem_movimenta_mico_editor].style.left
pos_alvo_x = pos_alvo_x.substr(0,pos_alvo_x.indexOf("px"))*1
pos_nova_x = pos_alvo_x + (event.clientX-pos_antiga_x)
document.all[quem_movimenta_mico_editor].style.left = pos_nova_x
pos_antiga_x = event.clientX
document.selection.empty()
}
function startDrag(quem){
var quem
//variave global quem_movimenta_mico_editor; pos_inicial_mico_ed
quem_movimenta_mico_editor = quem
pos_antiga_x = event.clientX;
pos_antiga_y = event.clientY;
document.onmousemove = move
document.onmouseup = endDrag
}
function endDrag(){
document.onmousemove=""
document.onmouseup=""
delete pos_antiga_x,pos_antiga_y
}



Para utilizar basta chamar chamar a funçao startDrag através de qualquer imagem, botao, layer (de preferencia no proprio layer que vai mexer) passando como parametro o nome do layer alvo, que pode ser qualquer um (lembre-se de definir o style left e top do layer alvo).

Ex:
CODE

<td bgcolor="#444444" onMouseOver="this.bgColor='#000066';status='Mover'" onMouseOut="this.bgColor='#444444';status=defaultStatus" onMouseDown="startDrag('MicoxBar1')" onMouseUp="endDrag()"></td>


Caso de erros, me avise informando o tipo de erro e o navegador utilizado.

Espero ter ajudado.
0

#2 User is offline   Lucas Oliveira 

  • Group: Membros
  • Posts: 78
  • Joined: 25-January 04

  Posted 25 January 2004 - 02:47 PM

Pô, bem legal esse script, Parabéns.
Já o copiei para minha biblioteca, só não deu tempo de testa ainda, tomara que funcione.
Até mais thumbsup.gif
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)