Maison > interface Web > Tutoriel H5 > Combat réel HTML5 et analyse du glisser-déposer natif (un aperçu de l'historique du glisser-déposer)

Combat réel HTML5 et analyse du glisser-déposer natif (un aperçu de l'historique du glisser-déposer)

黄舟
Libérer: 2017-02-11 11:39:35
original
1567 Les gens l'ont consulté


Quand je parle de glisser-déposer, je pense à un effet très intéressant lors de l'entraînement JavaScript, qui est le glisser-déposer. Vous pouvez utiliser la souris pour faire glisser un objet où vous le souhaitez.

Le premier navigateur à disposer d'une fonctionnalité de glisser-déposer JavaScript était IE4. À cette époque, il n'y avait que deux types d'objets sur la page Web qui pouvaient être glissés et déposés : les graphiques et certains textes. Lorsque vous faites glisser une image, placez la souris sur l'image et maintenez la souris enfoncée pour faire glisser. Lorsque vous faites glisser du texte, vous devez d'abord sélectionner le texte, puis faire glisser le texte sélectionné comme une image. Dans IE4, la seule cible valide pour placer du texte glissé est une zone de texte. Avec IE5.5, cela va encore plus loin, en permettant de glisser-déposer n'importe quel élément de la page Web (IE6 et supérieur prennent également en charge ces fonctions). Avec la mise à jour progressive des navigateurs et la naissance d'IE7IE8 et d'autres navigateurs, tout ce qui se trouve sur la page Web peut être glissé et déposé, mais cela n'est implémenté que via des programmes JavaScript. Ce qui suit est un petit exemple d’implémentation du glisser-déposer lorsqu’il n’y a pas de HTML5.

 Code HTML

<p id="p1" style="width:100px; height:100px; background:red; position:absolute;">梦龙小站</p>
Copier après la connexion


  Code JavaScript

window.onload = function(){
	var op = document.getElementById(&#39;p1&#39;);
	var disX = 0;
	var disY = 0;
	
	op.onmousedown = function(ev){
		var ev = ev || window.event;
		disX = ev.clientX - op.offsetLeft;
		disY = ev.clientY - op.offsetTop;
		
		//在IE下,如果选中元素拖拽就会有问题 : IE设置全局捕获:setCapture 释放全局捕获:releaseCapture
		if(op.setCapture){
			op.setCapture();
		}
		
		document.onmousemove = function(ev){
			var ev = ev || window.event;
			op.style.left = ev.clientX - disX + &#39;px&#39;;
			op.style.top = ev.clientY - disY + &#39;px&#39;;
		};
		
		document.onmouseup = function(){
			document.onmousemove = null;
			document.onmouseup = null;
			if(op.releaseCapture){
				op.releaseCapture();
			}
		};

		//在标准浏览器下如果拖拽一个空的标签,就会有问题 : return false
		//在标准浏览器下拖拽图片会有问题:return false
		return false;
	};
	
};
Copier après la connexion


 Code CSS

li{ width:100px; height:30px; border:1px #000000 solid; margin:20px; list-style:none;}
#p1{ width:100px; height:100px; background:red; margin:300px;}
Copier après la connexion

  Jusqu'à l'émergence du HTML5. HTML5 est une spécification glisser-déposer basée sur IE. Les navigateurs prenant en charge le glisser-déposer natif sont : Chrome, Safari 3 et Firefox 3.5.

Le glisser-déposer en HTML5 peut être parfaitement glissé entre les fenêtres, entre les cadres et même entre les applications. La prise en charge du glisser-déposer par le navigateur facilite cette fonctionnalité.

Combat réel HTML5 et analyse du glisser natif (1) - un aperçu de l'historique du glisser-déposer, c'est tout pour tout le monde. Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois (www.php.cn) !









Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal