É mais fácil pegar algo e colocar do que escrever o que você precisa levar e onde colocar. Claro, sem um mouse, ou um dispositivo semelhante, você não pode selecionar ou especificar nada, mas mesmo no estado atual das coisas, usar a ideia de arrastar e soltar é muito natural e confortável.
O escopo da ideia não são apenas lojas online, bibliotecas digitais, busca ou Sistemas de informação, mas também a área aplicada. A ideia é muito aplicável no desenvolvimento de sites e seus elementos, criados e mantidos de forma interativa, sem a participação de um programador.
Descrição da ideia
Selecione, mova e coloque - a ideia é natural e conveniente. É simplesmente incrível que não tenha nascido quando o mouse se tornou um acessório indispensável para o computador.
O exemplo mais óbvio é escolher um produto em uma loja online. Pegar o produto desejado com o mouse e arrastá-lo para o carrinho de compras é simples, natural e conveniente. Upload de arquivo: Tirar um documento da janela do navegador e colocá-lo em um elemento de página, iniciando assim a transferência do documento para o servidor, também é uma ideia prática.
Para o desenvolvedor, a ideia de "arrastar e soltar" é a manipulação dos elementos da página sem recalcular manualmente as coordenadas e tamanhos das tags, a possibilidade de selecionar vários elementos e alinhá-los, além de mover as laterais das tags do bloco.
HTML e CSS - ótimos idiomas descrições de tags e seus estilos de design, mas quando um desenvolvedor tem a capacidade de manipular interativamente os elementos da página sem recalcular manualmente as coordenadas e os tamanhos, isso torna o trabalho mais confortável e eficiente.
Fácil transferência de arquivos
"Arrastar e soltar": a tradução do inglês para o russo literalmente soa como "arrastar e soltar". Na prática, soa e funciona melhor: escolha, transfira e solte - de forma simples e natural.
Implementar transferências de arquivos em uma página para uma página, para um servidor ou para outro uso é muito simples.
Neste exemplo, vários arquivos na área de trabalho foram selecionados com o mouse (figura à esquerda). Na seleção, o botão esquerdo do mouse foi pressionado e o selecionado "foi" para a cesta. O próprio navegador mostrou como isso acontece, escreveu uma dica de “cópia” e criou os contornos dos arquivos sendo movidos.
Quando o mouse estava sobre a cesta, o visitante soltava o botão esquerdo do mouse, acontecia o evento de arrastar e soltar e na página do site (imagem inferior), o código JavaScript era capaz de receber e processar todos os arquivos que o visitante forneceu para a página (site).
Descrição da implementação
O código que executa este procedimento é muito simples. Mesmo um desenvolvedor iniciante pode repeti-lo em qualquer caso de uso.
Aqui, a interface do usuário é representada por duas tags: scPlaceFile (este é o próprio cesto onde você deseja colocar os arquivos) e scPlaceFiles (este é o resultado do processamento de arquivos, neste caso uma lista deles).
A lógica da página é a seguinte. Quando a página é carregada no navegador, o manipulador de eventos "ondrop" é atribuído na cesta - coloque, o restante dos eventos é bloqueado e não é usado.
A página funciona normalmente, mas assim que o visitante selecionar o arquivo (arquivos) e arrastá-los para a imagem da cesta, ou seja, para a tag scPlaceFile, será processado o evento “arquivos chegaram”.
Esse manipulador simplesmente exibe uma lista de arquivos. Seu número está em event.dataTransfer.files.length, e as informações sobre cada arquivo estão em event.dataTransfer.files[i].name. O que fazer com os dados recebidos é determinado pelo desenvolvedor; nesse caso, uma lista de arquivos recebidos é simplesmente formada.
Uma vez processado, o evento é bloqueado e não propagado. Isso é necessário para que o navegador não se envolva em atividades amadoras e não interfira no processamento das informações recebidas.
DnD e dados externos
Carregar imagens para o servidor em "arrastar e soltar" é uma prática comum nesta tecnologia. Normalmente, um desenvolvedor cria um formulário de upload de arquivo (1) que funciona da maneira usual (2). O visitante pode modo normal selecionar arquivos e enviá-los.
No entanto, se um visitante arrastar e soltar em um determinado local do formulário, o campo do nome do arquivo (arquivos) será preenchido automaticamente.
Isto boa decisão. É claro que é muito difícil admitir que não há mouse no computador. Mas é melhor desenvolver a interface do usuário da maneira usual e na implementação do DnD.
DnD e dados internos
Cuidar dos interesses do visitante é sempre importante, mas as preocupações do desenvolvedor também importam. Você pode implementar "arrastar e soltar" não apenas por meios padrão, mas também manipulando eventos de mouse em elementos de página.
A tarefa de calcular valores de coordenadas de tags e seus tamanhos surge constantemente. O cálculo manual é uma boa prática, mas a opção interativa é mais conveniente. Todas as tags são sempre retangulares e, ao monitorar os eventos do mouse nas laterais dos elementos, você pode criar a capacidade de mover automaticamente os elementos para o lugar certo na página ou alterá-los.
Manipulando o evento de clique do botão do mouse - lembrando as coordenadas do site de clique, por exemplo, um dos lados do elemento. Mova o mouse - o lado se move na direção desejada. Soltar o botão do mouse - o lado pára e suas coordenadas mudam. Dessa forma, você pode alterar a posição do elemento ou seu tamanho.
Não é formalmente arrastar e soltar, mas o efeito é semelhante e prático. Ao criar manipuladores universais para qualquer elemento de página, você pode obter um bom resultado interativo, acelerar o desenvolvimento e simplificar o código.
Programação visual e manual
Um mouse em um computador e dedos em um smartphone são abordagens completamente diferentes para a implementação da interface do usuário (visitante, desenvolvedor). É um requisito completamente natural e moderno para compatibilidade entre navegadores.
Tudo isso junto dificulta a criação de páginas, mas aplicando a ideia de arrastar e soltar nela forma padrão, usando seus eventos, combinando essa ideia com os eventos usuais nos elementos, você pode implementar um mecanismo no qual a criação da página ocorrerá visualmente.
Agora vamos ver a seleção de um elemento ou elementos. Fato de seleção - a aparência de um menu de contexto, por exemplo, o objetivo é alinhar o selecionado (esquerda, direita, centro), ou distribuir elementos vertical ou horizontalmente com o mesmo passo, ou alterar seu tamanho (mínimo, máximo).
O recálculo automático de coordenadas e dimensões é preferível ao manual. Menos erros - o objetivo é alcançado mais rapidamente. Além disso, você pode criar uma página em um navegador, salvar a posição e o tamanho dos elementos. Ao abrir esta página em um smartphone, você pode corrigir as coordenadas e dimensões e lembrá-las para modelo específico versão para smartphone ou navegador.
Portanto, a mesma página sem conformidade manual com o requisito de compatibilidade entre navegadores terá dados diferentes para exibir vários dispositivos e em diferentes navegadores.
Se você permitir que o visitante realize esses procedimentos por conta própria, bem como selecionar os elementos de página necessários entre os fornecidos pelo desenvolvedor, é possível garantir a compatibilidade entre navegadores e a funcionalidade necessária da página, levando em consideração as opinião do usuário.
O recurso Arrastar e Soltar pode ajudar a aumentar o desempenho do seu iPad. Veja como você pode usá-lo.
Assim, você pode mover um arquivo de um serviço de armazenamento em nuvem para outro, copiar texto do Safari para um aplicativo de edição de texto para adicionar uma cotação ou criar cópia de segurança certas fotos no aplicativo de armazenamento de arquivos.
Como arrastar e soltar fotos, arquivos e texto
1. Toque e segure a foto, arquivo ou texto destacado que deseja arrastar para outro aplicativo.
2. Arraste o elemento para o local desejado em esta aplicação ou outro que você tenha aberto em Slide Over ou Split View e solte.
Como arrastar e soltar várias fotos ou arquivos de uma só vez
1. Toque e segure uma das fotos ou arquivos que deseja arrastar.
2. Enquanto arrasta o item atual, toque em outra foto ou arquivo que você também deseja arrastar. Faça novamente com quantos elementos você quiser mover.
3. Arraste todos os objetos selecionados para o local designado em outro aplicativo que você abriu em Slide Over ou Split View e solte-os.
Como arrastar texto de um aplicativo para outro
1. Toque e segure na parte do texto que você deseja arrastar para selecioná-lo.
2. Use pontos de seleção para destacar o restante do texto que deseja arrastar.
3. Pressione e segure o texto selecionado.
4. Arraste o texto para o aplicativo onde deseja colocá-lo e solte-o.
Como alterar a posição dos ícones de vários aplicativos ao mesmo tempo usando "Arrastar e Soltar"
Embora a maioria das funcionalidades de arrastar e soltar do iOS funcione apenas no iPad, esse truque realmente funciona no iPhone e no iPad. Isso permite que você organize a localização dos aplicativos na tela inicial usando « Arraste e Solte" em vez de movê-los um por um.
1. Toque e segure o ícone do aplicativo que deseja reposicionar na tela inicial.
2. Toque em aplicativos adicionais que você também deseja mover.
3. Arraste esses aplicativos para a página ou pasta onde você deseja que eles estejam e solte-os.
182
Neste exemplo, selecionamos um elemento div e o tornamos móvel chamando-o método arrastável(). Conforme mostrado na figura abaixo, no documento aberto, o elemento assume sua posição usual, mas após isso pode ser movido com o ponteiro do mouse para qualquer lugar na janela do navegador:
O recurso de arrastar e soltar é útil por si só, mas é ainda mais útil quando usado em conjunto com a interação Droppable, descrita a seguir.
A interação arrastável é implementada somente através do uso de marcação HTML específica e estilos CSS. Isso significa que essa funcionalidade funcionará em praticamente qualquer navegador, mas os elementos dotados dela não poderão funcionar com recursos nativos semelhantes de arrastar e soltar. sistemas operacionais.
As operações de arrastar e soltar definidas pela especificação HTML5 geralmente são implementadas usando mecanismos nativos do sistema operacional. Se você estiver usando o mecanismo de arrastar e soltar da interface do usuário do jQuery, é melhor desabilitar os equivalentes HTML5 para evitar conflitos. Para fazer isso, defina o atributo arrastável do elemento body do documento como false.
Personalizando a interação arrastável
Existem muitas opções de personalização para a interação Draggable. As propriedades mais importantes cobertas nas seções a seguir estão resumidas na tabela abaixo:
Propriedade | Descrição |
---|---|
eixo | Restringe o movimento a certas direções. O valor padrão é false, o que significa que não há restrições, mas você também pode especificar o valor "x" (mover apenas ao longo do eixo x) ou "y" (mover apenas ao longo do eixo y) |
contenção | Restringe a localização do elemento flutuante a uma área específica da tela. Os tipos de valor com suporte são descritos na tabela abaixo, com o exemplo correspondente. O valor padrão é false, significa que não há restrições |
atraso | Especifica a quantidade de tempo que um elemento deve ser arrastado antes de se mover. O valor padrão é 0, o que significa que não há atraso |
distância | Especifica a distância que o usuário deve arrastar um elemento de sua posição inicial antes que ele realmente se mova. O valor padrão é 1 pixel |
rede | Força a ligação do elemento movido às células da grade. O valor padrão é false, o que significa que não há vinculação |
Restrição de direções de movimento
Existem várias maneiras de restringir o movimento de um elemento a determinadas direções. A primeira delas é usar a opção de eixo, que permite limitar a direção do movimento ao eixo X ou Y. Um exemplo é mostrado abaixo:
...