Click And Drag DIV's?
Oct 6, 2009There seems to be a lot out there, but I haven't found a javascript for a click and drag that has been bug free. The last one I had didn't work in Safari.
View 3 RepliesThere seems to be a lot out there, but I haven't found a javascript for a click and drag that has been bug free. The last one I had didn't work in Safari.
View 3 RepliesI had an interesting idea recently to implement on my dynamic site.
I would like to have the users be able to click on object 1 and drag it
overtop of object 2. Object 1 and object 2 should be div tags so that
they could go around anything. When the user starts to drag object 1,
a parcially transparent object 1 appears wherever the mouse goes (we
will call this object 3) and the original object 1 disappears. After
the user lets go of object 1 ontop of object 2, object 3 disappears and
a javascript occurs (i will add this to the script later). If object 1
is let go not ontop of object 2 then the original object 1 reappears
where it used to be and object 3 disappears.
Also, while all this clicking and draging is going on the user should
be able to click and drag to scroll the page.
Unfortunately i have no idea how to do any of this. If anyone could
help me with this it would be appreciated. This is kind of what you
can do to files and folders in Windows XP.
Wondering if anyone had any tutorials for creating a simple click and drag slider.
[url]
Something like this using jQuery.
But I don't see any tutorials on how to go about creating one of these.
Below is my script. This will let me click and drag an item on my site. I need the image to not only do this, but also snap to a specific location. There will be approx. 30 items that will be snapping to the same location.
<head><style type="text/css">
.drag{
position:relative;
cursor:hand;
z-index: 100;
}
</style><script type="text/javascript"> .....
dragobject.initialize()
</script>
</head>
<body>
<img src="test.gif"><br>
<img src="test2.gif"><br>
<b>"Hi there</b>
</body>
Query :1. How to enable & disable jquery Drag effect on click of a button?I am using this :-----> $("#image_to_map").draggable(); to applythe drag effect.
View 1 Replies View RelatedI would like to know which plugin can help me achieve an animation of frames like the one seen on [URL]where you can click and drag the ipad to see it's cover functionality). I don't need the click and drag, just the animation, as I would set it on an auto animation.
View 1 Replies View Relatedsome free Javascript code that will turn the pages of your website when you click the mouse and drag the "page"?
View 1 Replies View RelatedI cant really figure this out, the only thing i could see messing it up is the javascript:void(0) inside the anchor link but since there is a double click function and a click, it should only be one click.I put autoOpen which i think is also causing it, but i did that so theuser can open it, close it, and open it again so the delay "double click" is saying for the first time initialize and then the second click is opening?? if so how do i get around this?
HERE IS MY JQUERY
$(document).ready(function(){
$("#pro_edit_profile").hide();[code]....
HERE IS MY HTML FOR THE LINK
<a href="javascript:void(0);" id="pro_edit_pic_link" name="Change
Profile Picture">Change Profile Picture</a>
There is a checkbox on a form page, when you check it, a div will become visible with some extra inputs needed for that situation. To simulate this click on the checkbox external, I use click(). With jquery files 1.4 and lower this works properly and like expected. When using jquery library 1.4.1 or higher, something does not seem to work properly. Sooooo, the code:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.min.js"></script>
<!--<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script>-->
<script type="text/javascript">[code]....
Somehow I managed to get this thing 'sort of' working with 1.4.1 or higher. But the code to accomplish this is absurd. See functioncheckTheBox4Plus() on line 8. It works :) but shouldn't.. Or is it the other way around?
i want to setup a piece of code that allows me to drag text onto a div, and have that text be recorded into a javascript variable. the text is text brought in from anywhere; website, other website, a notepad text file, etc. basically any text
so, im thinking i need to access the system's clipboard to get that info?
I can't figure out how to drag and drop. I've followed some tutorials but no success. I use Firefox as my browser. Any tutorial you would recommend?
View 2 Replies View Relatedi want to drag the div which have a image in it: but i find that if i click on the image, i cannot drag the div, (in FF3.5)
<div id="div1">
<imc src="XXX.jpg">
</div>
[Code]....
I should start by saying that I am very new in Javascript.. what I need to do is to drag the entire window...any ideas how to do that ?
View 5 Replies View RelatedI have a div that I can drag on mousedown. In Firefox the code works as expected. In IE, however, it does not work anymore.
I noticed that if you put the mousemove event listener on the div that I'm dragging that it will get lost if you move the mouse wildly across the screen. So I decided to put the even on the window.
Now you can move the mouse as fast as you want in FireFox. In IE, however, it moves a little then stops - not reacting at all.
You guys know the linking tool Dreamweaver has?
Where you can drag the pointer to a file.
I want the same, but then in the browser.
Is it possible to create such an expanding arrow with JavaScript?
I am using YUI's Drag and Drop utility to add some drag & drop functionality to a CMS I'm building.
This works just fine and is very easy to set up, but the thing I'm wondering about, how do I restrict the dragging? In other words; how can I make sure an element gets dragged within the borders of, say, some div and not outside them?
As the subject says, is this possible. I'd like to drag a file onto a button and have the filename accesable within that pages javascript.
View 1 Replies View RelatedI build my first Drag & Drop with JavaScript and I would like to drag
the pictures when I click on it.
When I create a normal div tag with some text the script works, but
when I put a image in the div tag it works not correctly.
Here is my Code... I integrated three pictures and one text, then you
can see the differences.
a part of my html site:
I have a floating div which I drag all over the page. If the page has
scrollbars and users drag the floating div to the very top, page
scrolls up too. The problem occurs at this moment. As page scrolls up,
the div gets detached from the mouse while dragging.
How can I keep the floating div to always stay attached to the mouse
during a dragging process and scrolling the page? Code:
I'm in the middle of creating a project management system for our office, and I was wondering if javascript is capable of emulating drag and drop? This would allow me to do some cool stuff.
View 1 Replies View RelatedI am trying to make a sort of scrollable area, using a div that you are supposed to be able to drag, and an area that reacts to it. The problem is, it only reacts to click events. When I drag, it does not respond.
Here is the jquery code:
jQuery(document).ready(function(){
var numImg = $('.image').length;
$('#imageContainer').width(numImg*206+40);
[Code]....
I am trying to make a script that when I click on table row and drag it on top of an image that table row gets deleted.
View 1 Replies View RelatedWhat I want to know is how can I make a drag selection box using JavaScript. What I mean, is when you click the left mouse button and drag, a "wire" (I don't know the term for it) should appear , like on your desktop. I'm sure this is possible, but I didn't find any example.
View 4 Replies View RelatedAfter a good deal of internal development, I've decided this library will do more good in the wild. It works in IE6, Safari 2, Opera 9, Firefox 1.5, and IE5.5/Mac (sort of buggy behavior with text selection in IE5.5/Mac though). It should also work in virtually any version of Gecko, Opera 6+, Safari 1, and IE5+ (anybody who wants to test those, feel free). The scripting is highly efficient, and only exposes two functions globally, Draggable and Droppable. The below code is licensed under the LGPL, though it is available under other licenses per request.
Let me know if you have any issues with it - this is something I'm interested in maintaining. Also, compared to other scripts, such as script.tac.ulo.us, this is much less code (lots of whitespace/comments could be taken out), and more widely supported across browsers.
Other than below, it can be found here: http://www.jasonkarldavis.com/scripts/dragdropable/dragdropable.html
// dragdropable.js (1.0.1)
//Copyright (C) 2006 Jason Davis, www.jasonkarldavis.com
//This code is licensed under the LGPL:
//http://www.gnu.org/licenses/lgpl.html
//
// Documentation:
//This script exposes two global variables, Draggable and Droppable. To make an
//element draggable, simply call `Draggable(element)`. This sets the necessary
//CSS properties and event handlers. It also overrides the addEventListener and
//and attachEvent methods (if present) to include the following events:
//onstart(When the element begins dragging)
//ondrag(When the element is being dragged)
//onstop(When the element has stopped dragging)
//You may also assign element.onstart, element.ondrag, and element.onstart to
//add event listeners.
//Lastly, if you need to physically prevent an element from dragging, you may
//call event.preventDefault() from within the onstart handler.
//
//To make an element droppable (have things dragged onto it), call
//`Droppable(element)`. This sets the necessary event handlers and coordinate
//searches. Once again, it overrides addEventListener and attachEvent to
//include the following events:
//onhover(When another element has been dragged over the element)
//ondrop(When another element has been dropped onto the element)
//onunhover(When another element has been dragged off the element)
//As before, you may also set element.onhover, element.ondrop, and
//element.onunhover directly.
//To remove all drop points from the current session, call `Droppable.reset()`.
//
//The event object is also extended with the following properties:
//dragTarget(The element being dragged)
//dropTarget(The element being dropped onto)
//
// Known bugs:
//* removeEventListener and detachEvent do not work with the custom events.
//Workaround: Use direct assignment (element.onevent) instead.
//* There is no way to remove a single drop point.
//Workaround: Call Droppable.reset(), then reinitialize the other drop points.
//* There is no way to remove dragging from an element.
//Workaround: element.onstart = function(event) { event.preventDefault() }
//* Changing position of droppable elements after initialization breaks drop
//Workaround: Static droppables are much faster than moving ones. Either call
//Droppable.reset() and reinitialize often, or ask the author to modify the
//script to account for this (and accept the resulting slowdown)
function Draggable(element) {
// initialize drag variable
var x = 0, y = 0, oldMouseMove, oldMouseUp;
// get style properties of element
var computedStyle;
if (typeof document.defaultView != "undefined" && typeof document.defaultView.getComputedStyle != "undefined")
computedStyle = document.defaultView.getComputedStyle(element, "");
else if (typeof element.currentStyle != "undefined")
computedStyle = element.currentStyle;
else
computedStyle = element.style;
// prep element for dragging
if (computedStyle.position == "static" || computedStyle.position == "")
element.style.position = "relative";
if (computedStyle.zIndex == "auto" || computedStyle.zIndex == "")
element.style.zIndex = 1;
element.style.left = isNaN(parseInt(computedStyle.left)) ? "0" : computedStyle.left;
element.style.top = isNaN(parseInt(computedStyle.top )) ? "0" : computedStyle.top;
// default event listeners
function onstart(event) {
event.dragTarget = element;
x = event.clientX;
y = event.clientY;
// Override preventDefault
event.preventDefault = (function(original) {
return function() {
element.ownerDocument.onmousemove = oldMouseMove;
element.ownerDocument.onmouseup = oldMouseUp;
original.call(event);
}
})(event.preventDefault || function() {});
if (element.onstart) element.onstart(event);
}
function ondrag(event) {
event.dragTarget = element;
element.style.left = parseInt(element.style.left) + event.clientX - x + "px";
element.style.top = parseInt(element.style.top) + event.clientY - y + "px";
x = event.clientX;
y = event.clientY;
Droppable.query(event);
if (element.ondrag) element.ondrag(event);
}
function onstop(event) {
event.dragTarget = element;
Droppable.query(event);
if (element.onstop) element.onstop(event);
}
// make listeners active
element.onmousedown = (function(oldMouseDown) {
return function() {
// Call old listener
if (oldMouseDown) oldMouseDown.apply(this, arguments);
// Store old event handlers
oldMouseMove = this.ownerDocument.onmousemove;
oldMouseUp = this.ownerDocument.onmouseup;
// Setup events
this.ownerDocument.onmousemove = function() {
// Call old listener
if (oldMouseMove) oldMouseMove.apply(this, arguments);
// Call ondrag
ondrag.call(element, arguments[0] || event);
return false;
}
this.ownerDocument.onmouseup = function() {
// Call old listener
if (oldMouseUp) oldMouseUp.apply(this, arguments);
// Call onstop
onstop.call(element, arguments[0] || event);
// Restore old event listeners
this.onmousemove = oldMouseMove;
this.onmouseup = oldMouseUp;
return false;
}
// Call onstart
onstart.call(this, arguments[0] || event);
return false;
}
})(element.onmousedown);
// override event attachers
if (element.addEventListener)
element.addEventListener = (function(original) {
return function(event, listener, useCapture) {
switch (event) {
case "start":
onstart = (function(old) {
return function(event) { old.call(element,event); listener.call(element,event); }
})(onstart);
break;
case "drag":
ondrag = (function(old) {
return function(event) { old.call(element,event); listener.call(element,event); }
})(ondrag);
break;
case "stop":
onstop = (function(old) {
return function(event) { old.call(element,event); listener.call(element,event); }
})(onstop);
break;
default:
original.call(element, event, listener, useCapture);
}
}
})(element.addEventListener);
if (element.attachEvent)
element.attachEvent = (function(original) {
return function(event, listener) {
switch (event) {
case "onstart":
onstart = (function(old) {
return function(event) { old.call(element,event); listener.call(element,event); }
})(onstart);
break;
case "ondrag":
ondrag = (function(old) {
return function(event) { old.call(element,event); listener.call(element,event); }
})(ondrag);
break;
case "onstop":
onstop = (function(old) {
return function(event) { old.call(element,event); listener.call(element,event); }
})(onstop);
break;
default:
original.call(element, event, listener);
}
}
})(element.attachEvent);
if (window.attachEvent)
window.attachEvent("onbeforeunload", function() {
onstart = ondrag = onstop = element.onmousedown = element.addEventListener = element.attachEvent = null;
element = null;
});
}
// initialize Droppable in the global scope
var Droppable;
(function() {
if (document.getBoxObjectFor) {
function getOffset(element) {
var box = document.getBoxObjectFor(element);
return { x: box.x, y: box.y };
}
}
else if (document.all && navigator.appName == "Microsoft Internet Explorer" && !window.opera) {
function getOffset(element) {
var range = document.body.createTextRange();
range.moveToElementText(element);
var rect = range.getBoundingClientRect();
return { x: rect.left, y: rect.top };
}
}
else {
function getOffset(element) {
var accumulator = arguments[1] || { x: 0, y: 0 };
if (element && element != document.body) {
accumulator.x += element.offsetLeft;
accumulator.y += element.offsetTop;
return getOffset(element.offsetParent, accumulator);
}
else {
return accumulator;
}
}
}
// initialize private pointers to current target information
var cTarget = null, cHover = null, cUnhover = null, cDrop = null;
function hotSpots(x,y) {
cTarget = cHover = cUnhover = cDrop = null;
}
// declare Droppable within the private scope
Droppable = function(element) {
// Calculate offset
var offset = getOffset(element);
// Calculate other edge offset
var edge = { x: offset.x + element.offsetWidth, y: offset.y + element.offsetHeight };
// Assign a finder function
hotSpots = (function(old) {
return function(x,y) {
if (offset.x <= x && x <= edge.x && offset.y <= y && y <= edge.y) {
cTarget = element;
cHover = onhover;
cUnhover = onunhover;
cDrop = ondrop;
}
else {
old(x,y);
}
}
})(hotSpots);
// default event listeners
function onhover(event) {
event.dropTarget = element;
if (element.onhover) element.onhover(event);
}
function onunhover(event) {
event.dropTarget = element;
if (element.onunhover) element.onunhover(event);
}
function ondrop(event) {
event.dropTarget = element;
if (element.ondrop) element.ondrop(event);
}
// override event attachers
if (element.addEventListener)
element.addEventListener = (function(original) {
return function(event, listener, useCapture) {
switch (event) {
case "hover":
onhover = (function(old) {
return function(event) { old.call(element,event); listener.call(element,event); }
})(onhover);
break;
case "unhover":
onunhover = (function(old) {
return function(event) { old.call(element,event); listener.call(element,event); }
})(onunhover);
break;
case "drop":
ondrop = (function(old) {
return function(event) { old.call(element,event); listener.call(element,event); }
})(ondrop);
break;
default:
original.call(element, event, listener, useCapture);
}
}
})(element.addEventListener);
if (element.attachEvent)
element.attachEvent = (function(original) {
return function(event, listener) {
switch (event) {
case "onhover":
onhover = (function(old) {
return function(event) { old.call(element,event); listener.call(element,event); }
})(onhover);
break;
case "onunhover":
onunhover = (function(old) {
return function(event) { old.call(element,event); listener.call(element,event); }
})(onunhover);
break;
case "ondrop":
ondrop = (function(old) {
return function(event) { old.call(element,event); listener.call(element,event); }
})(ondrop);
break;
default:
original.call(element, event, listener);
}
}
})(element.attachEvent);
if (window.attachEvent)
window.attachEvent("onbeforeunload", function() {
hotSpots = onhover = onunhover = ondrop = element.addEventListener = element.attachEvent = cTarget = cHover = cUnhover = cDrop = null;
element = null;
});
}
// Setup a query method
Droppable.query = function(event) {
var oTarget = cTarget,
oHover = cHover,
oUnhover = cUnhover,
oDrop = cDrop;
var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft,
scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
hotSpots(event.clientX + scrollLeft, event.clientY + scrollTop);
switch (event.type) {
case "mousemove": // onhover & onunhover
if (oTarget != null && oTarget != cTarget)
oUnhover.call(oTarget, event);
if (oTarget == null && cTarget != null)
cHover.call(cTarget, event);
break;
case "mouseup": // ondrop
if (cTarget != null) {
cUnhover.call(cTarget, event);
cDrop.call(cTarget, event);
}
break;
}
}
Droppable.reset = function() {
hotSpots = function(x,y) {
cTarget = cHover = cUnhover = cDrop = null;
}
hotSpots();
}
})();
// Fix the function prototype for IE5/Mac
if (typeof Function.prototype.apply == "undefined")
Function.prototype.apply = function(scope, args) {
if (!args) args = [];
var index = 0, result;
do { -- index } while (typeof scope[index] != "undefined");
scope[index] = this;
switch (args.length) {
case 0:
result = scope[index]();
break;
case 1:
result = scope[index](args[0]);
break;
case 2:
result = scope[index](args[0], args[1]);
break;
case 3:
result = scope[index](args[0], args[1], args[2]);
break;
case 4:
result = scope[index](args[0], args[1], args[2], args[3]);
break;
default:
result = scope[index](args[0], args[1], args[2], args[3], args[4]);
break;
}
delete scope[index];
return result;
}
if (typeof Function.prototype.call == "undefined")
Function.prototype.call = function(scope) {
var args = new Array(Math.max(arguments.length-1, 0));
for (var i = 1; i < arguments.length; i++)
args[i-1] = arguments[i];
return this.apply(scope, args);
}
What im looking for is to have a database hold a list of images ( or numbers that corrospond to images)... that should be easy enough. The part im having trouble with is having these images aligned in a grid which is inside a window /frame/ box on the web page. The user can click and drag and it will move around this collection of images.....
like so (numbers represent images):
5 4 3
6 1 2
7 8 9
so if the user clicked and dragged to the right the images would then look like:
4 3 12
1 2 11
8 9 10
the new images are taken from the database and the user can drag in any direction.
even if its just what this is called that i should search for, ive tried draggable images, scrolling images etc etc
I really like the drag-drop box from bbc.co.uk, but I don't know how to do it. Can anybody help me to create a page like that?
View 1 Replies View Related