ホームページ >ウェブフロントエンド >jsチュートリアル >JS はシンプルで完全な互換性のあるドラッグ レイヤーを実装します。

JS はシンプルで完全な互換性のあるドラッグ レイヤーを実装します。

WBOY
WBOYオリジナル
2016-05-16 15:59:20851ブラウズ

この記事の例では、JS を使用してシンプルで完全な互換性のあるドラッグ レイヤーを実装する方法を説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです。

これは最も簡潔な JS レイヤーのドラッグ コードで、IE、FF、Opera、Safari と完全に互換性があります。各ブラウザには対応する判断と実装メソッドがあり、コードを Web ページにコピーするだけで使用できます。で 。高度なスキルを持つ友人は、引き続き変更を加えたり、メソッドを追加したりして、より強力にすることができます。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JS拖动层</title>
</head>
<body>
<div id="f" style="position: absolute; width: 216px; height: 138px; 
background-color: skyblue;font-size: 12px; top: 210px; left: 180px;
z-index: 101; border: solid 1px blue;">
<div id="title" style="background-color: Blue; cursor: move; 
height: 20px; color: #fff;font-size: 12px; padding-top: 5px;
padding-left: 10px;">层的标题</div>
层的内容
</div>
<script type="text/javascript">
var posX;
var posY;    
fdiv = document.getElementById("f");      
document.getElementById("title").onmousedown=function(e)
{
  if(!e) e = window.event; //IE
  posX = e.clientX - parseInt(fdiv.style.left);
  posY = e.clientY - parseInt(fdiv.style.top);
  document.onmousemove = mousemove;      
}
document.onmouseup = function()
{
  document.onmousemove = null;
}
function mousemove(ev)
{
  if(ev==null) ev = window.event;//IE
  fdiv.style.left = (ev.clientX - posX) + "px";
  fdiv.style.top = (ev.clientY - posY) + "px";
}
</script>
</body>
</html>

この記事が皆様の JavaScript プログラミング設計に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。