Lesson – Drag and Drop (Drag)

18 03 2007

Пример «таскания» Ajax`a

<html>
<head>
<title>Ajax Drag and Drop</title>
<style type="text/css">
#television {
position:absolute;
z-index:200;
background: #FF0000;
color:#0000FF;
}
#target {
position:absolute;
background: #00FF00;
color:#000000;
}
</style>
<script type="text/javascript">
var offsetX, offsetY;
function MouseEvent(e)
{
if(e) {
this.e = e;
} else {
this.e = window.event;
}
if(e.pageX) {
this.x = e.pageX;
} else {
this.x = e.clientX;
}
if(e.pageY) {
this.y = e.pageY;
} else {
this.y = e.clientY;
}
if(e.target) {
this.target = e.target;
} else {
this.target = e.srcElement;
}
}
function addListener(type, callback)
{
if (document.addEventListener) {
document.addEventListener(type, callback, false);
} else if (document.attachEvent) {
document.attachEvent("on"+type, callback, false);
}
}
function removeListener (type, callback)
{
if (document.removeEventListener) {
document.removeEventListener(type, callback, false);
} else if (document.detachEvent) {
document.detachEvent("on" + type, callback, false);
}
}
function handleDown(e)
{
var e = new MouseEvent(e);
addListener("mousemove", handleMove);
addListener("mouseup", handleUp);
offsetX = e.x - parseInt(e.target.style.left);
offsetY = e.y - parseInt(e.target.style.top);
document.getElementById("targetDiv").innerHTML = "";
}
function handleMove(e)
{
var e = new MouseEvent(e);
var x = e.x - offsetX;
e.target.style.left = x + "px";
var y = e.y - offsetY;
e.target.style.top = y + "px";
}
function handleUp(e)
{
var e = new MouseEvent(e);
removeListener("mousemove", handleMove);
removeListener("mouseup", handleUp);
var target = document.getElementById("target");
var x = parseInt(target.style.left);
var y = parseInt(target.style.top);
var width = parseInt(target.style.width);
var height = parseInt(target.style.height);
if(e.x > x &amp;&amp; e.x < x + width &amp;&amp;
e.y > y &amp;&amp; e.y &lt; y + height){
var XMLHttpRequestObject = false;
if (window.XMLHttpRequest) {
XMLHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttpRequestObject = new
ActiveXObject("Microsoft.XMLHTTP");
}
if(XMLHttpRequestObject) {
XMLHttpRequestObject.open("GET", "text.txt");
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 &amp;&amp;
XMLHttpRequestObject.status == 200) {
document.getElementById("targetDiv").innerHTML =
XMLHttpRequestObject.responseText;
}
}
XMLHttpRequestObject.send(null);
}
}
}
</script>
</head>
<body>
<h1>Some text</h1>
<div id="targetDiv"></div>
<div id="television"
style="left:200px; top:100px; width:80px; height:80px;"
onmousedown="handleDown(event);">Blogs Fost's</div>
<div id="target"
style="left:300px; top:300px; width:200px; height:100px;"> Other text</div>
<h2>By Fost.wordpress.com thanks - VTC</h2>
</body>
</html>

Действия

Информация

Ответов: 9

18 06 2007
buyviagraonline

I liked your site. On it interesting themes
are discussed!!!

18 06 2007
Fost

Thanks. I`ll try post more Lessons or some Examples

28 10 2008
enzymnImpunny

Heh. Nice. Are you kidding me about my striped implication I have read a good joke in internet ;) What did one ocean say to the other ocean? Nothing, they just waved.

22 02 2009
Alex

.

7 03 2009
Alan

, )

8 03 2009
Iliya

.

8 03 2009
Nik

18 03 2009
Glen

27 03 2009
Stiv

Оставить комментарий