Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rdpacato

Drag e Drop

Recommended Posts

Pessoal, gostaria de fazer uma aplicação que possa colocar componentes com Drag e Drop.

Temos uma aplicação com arquivos xml que são traduzidos pelo java, e alguns componentes desse xml, queria fazer drag e drop.

 

Alguma sugestão ou exemplo ajudaria.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde, se você quer um efeito drag drop em elementos html, eu sugiro a utilização do jQuery UI, neste endereço você vai conseguir ver alguns exemplos interessantes, principalmente os eventos Draggable, Droppable e talvez te interesse o Sortable: https://jqueryui.com/demos/ não sei como você gostaria de utilizar, talvez organizar os elementos do xml em forma de lista é uma opção.

Boa sorte! :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Klawztro, obrigado pela resposta.

 

É que aqui onde trabalho, montamos muitos elementos em xml, que o java depois converte em elementos HTML, é uma linguagem proprietária, por exemplo:

Se eu colocar isso no xml:  <tabela id=tb td=2 tr=3>  

O interpretador gera no html:

<tabela>

<tr><td></td><td></td></tr>

<tr><td></td><td></td></tr>

<tr><td></td><td></td></tr>

</tabela>

 

Aí queríamos deixar estes elementos do xml, como drag e drop, na nossa linguagem proprietária.

           

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por iagomonteiro
      Estou criando um jogo de cartas em web, o jogo é bem estilo HS, e estou tendo problemas para adicionar condições de movimentação no drag and drop. Como vocês podem ver eu tenho uma variável mana, e a movimentação das cartas só seria possível de acordo com ela, porém quando adiciono as condições o D&D acaba nem se movimentando mais, pensei em chamar cada função do d&d dentro de uma condição, mas também não funcionou, alguém pode ajudar?
       
      JS
      // Jogador 1
      const fillplace1 = document.querySelector('#fillplace1');
      const fillplace2 = document.querySelector('#fillplace2');
      const fillplace3 = document.querySelector('#fillplace3');
      var fill;
      const empties = document.querySelectorAll('.empty');
      fillplace1.addEventListener('dragstart', enterstart);
      fillplace2.addEventListener('dragstart', enterstart);
      fillplace3.addEventListener('dragstart', enterstart);
      for (const empty of empties) {
          empty.addEventListener('dragover', dragOver);
          empty.addEventListener('dragenter', dragEnter);
          empty.addEventListener('dragleave', dragLeave);
          empty.addEventListener('drop', dragDrop);
      }
      function enterstart(){
          fill = this;
      }
      function dragOver(e) {
          e.preventDefault();
      }
      function dragEnter(e) {
          e.preventDefault();
          this.className += ' hovered';
      }
      function dragLeave() {
          this.className = 'empty';
      }
      function dragDrop(id) {
          this.className = 'empty';
          this.append(fill);
      }
       
      HTML
      <link rel="stylesheet" href="../css/jogar.css" />
       
      <div id="barraGeneral">
          <img src="../imagens/Campo/barraGeneralalfa.png" id="imggeneral" />
      </div>
       
      <div id="persona">
          <img src="../imagens/Personagem/cucapersonagem.png" id="imgpersonagem" />
      </div>
       
      <button id="btpassar" onclick="cont();">Passar Rodada</button>

      <H1 id="campomana">1</H1>
       
      <!-- Mesa das cartas jogador 1-->
      <div class="empty" id="emptyplace1">
      </div>
      <div class="empty" id="emptyplace2">
      </div>
      <div class="empty" id="emptyplace3">
      </div>
      <div class="empty" id="emptyplace4">
      </div>
      <div class="empty" id="emptyplace5">
      </div>
       
      <!-- Mão do jogador 1 -->
      <div class="emptyhand1">
          <div class="fill" draggable="true" id="fillplace1">
              <img src='../imagens/Sorteio/aa.png' draggable='true'>
          </div>
      </div>
       
      <div class="emptyhand2">
          <div class="fill" draggable="true" id="fillplace2">
              <img src='../imagens/Sorteio/aa2.png' draggable='true'>
          </div>
      </div>
       
      <div class="emptyhand3">
          <div class="fill" draggable="true" id="fillplace3">
              <img src='../imagens/Sorteio/aa2.png' draggable='true'>
          </div>
      </div>
       
    • Por TeixeiraRamos
      Por favor,
      Uso phpMyAdmin versão 4.7.9.
      Tenho um banco de dados nome info16br;
      Tabela com o nome: tb03_letra_ano  que tinham dois campos um  tb03_letra_ano_id  e o outro  tb03_letra_ano (esse eu de tanto futucar deletei e ficou só o do índice tb03_letra_ano_id);
      Esse índice  tb03_letra_ano_id faz relacionamento com a tabela  tb01_calendario_ano_b , campo tb03_letra_ano_id.
       
      Tentativas:
      1- DROP TABLE tb03_letra_ano;
          Erro:
          #1217 - Não pode apagar uma linha pai: uma restrição de chave estrangeira falhou
       
      2- DROP INDEX tb03_letra_ano_id ON tb03_letra_ano;
           Erro:
           #1075 - Definição incorreta de tabela. Somente é permitido um único campo auto-incrementado e ele tem que ser definido como chave;
       
      3- DROP INDEX tb03_letra_ano_id ON tb01_calendario_ano_b       Erro:
            #1553 - Cannot drop index 'tb03_letra_ano_id': needed in a foreign key constraint
       
      Com relação a sua sugestão do Motta:  
      .. talvez a regra de CASCADE.  Sá consegui a definição:
       
      Não consegui um a instrução.
       
       
       
       
    • Por MrCharset
      Boa noite a todos. Olhem, por favor, este trecho de código:
       
      $("#E25").click(function()
              {
                  setTimeout(function()
                  {
                      document.getElementById("ter25").id = "t25";
                      document.getElementById("E25").style.display = "none";
                  }, 2000);
                  
                  $(".class").draggable
                  ({
                      containment: "#d1", connectToSortable: "#ter25"    
                  });
                  
                  $("#ter25").droppable
                  ({
                      hoverClass: "ter-ativo",
                      drop: function() 
                      {
                          push($(this).html());
                      }
                  });
              });
       
      Eu tenho um botão de id E25.
       
      Quando clico nele, divs membras da classe class (criatividade) tornam-se arrastáveis.
       
      Essas mesmas divs podem ser "droppadas" em outra div, de id ter25.
       
      Porém, preciso que apenas uma div da classe class seja "droppada" na ter25.
       
      Então, criei uma função que muda o id da ter25 para t25. Essa funçao é executada 2 segundos após o clique no botão E25.
       
      Assim, pensei eu, as divs da classe class não vão mais poder ser "droppadas". Mas me enganei. 
       
      Por quê?!!! O que determina a div droppable é seu id, e eu mudei seu id!
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.