Ciao ragazzi,
vengo subito al problema,ho una pagina con un javascript che mi permette di fare drag & drop con degli elementi solo che quando aggiorno la pagina questi elementi ritornano nella loro posizione iniziale e non dove li ho lasciati.
Avrei bisogno di poter memorizzare queste posizioni,magari con un pulsante ,ma anche di poter modificarle nuovamente in futuro se volessi.E' possibile una cosa del genere?
Posto la pagina:
vengo subito al problema,ho una pagina con un javascript che mi permette di fare drag & drop con degli elementi solo che quando aggiorno la pagina questi elementi ritornano nella loro posizione iniziale e non dove li ho lasciati.
Avrei bisogno di poter memorizzare queste posizioni,magari con un pulsante ,ma anche di poter modificarle nuovamente in futuro se volessi.E' possibile una cosa del genere?
Posto la pagina:
HTML:
<head>
<style type="text/css"> .dragme{position:relative;cursor: pointer; cursor:hand}</style>
<script type="text/javascript">
var ie=document.all;
var nn6=document.getElementById&&!document.all;
var isdrag=false;
var x,y;
var dobj;
function movemouse(e){
if (isdrag){
dobj.style.left = nn6 ? tx + e.clientX - x : tx + event.clientX - x;
dobj.style.top = nn6 ? ty + e.clientY - y : ty + event.clientY - y;
return false;
}
}
function selectmouse(e){
var fobj = nn6 ? e.target : event.srcElement;
var topelement = nn6 ? "HTML" : "BODY";
while (fobj.tagName != topelement && fobj.className != "dragme"){
fobj = nn6 ? fobj.parentNode : fobj.parentElement; }
if (fobj.className=="dragme"){
isdrag = true;
dobj = fobj;
tx = parseInt(dobj.style.left+0);
ty = parseInt(dobj.style.top+0);
x = nn6 ? e.clientX : event.clientX;
y = nn6 ? e.clientY : event.clientY;
document.onmousemove=movemouse;
return false;
}
}
document.onmousedown=selectmouse;
document.onmouseup=new Function("isdrag=false");
</script>
<script>
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.image.BufferedImage;
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.swing.*;
public class cattura
{
public static void main(String[] args)
{
GraphicsEnvironment environment =
GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice screen = environment.getDefaultScreenDevice();
try {
Robot robot = new Robot(screen);
run(robot);
}
catch (AWTException exception){}
}
public static void run(Robot robot)
{
robot.delay(2000);
BufferedImage image = robot.createScreenCapture(new Rectangle(0, 0, 800, 600));
ImageF frame = new ImageF(image);
frame.show();
}
}
class ImageF extends JFrame
{
public ImageF(Image image)
{
setTitle("Cattura");
setSize(800,600);
Container contentPane = getContentPane();
JLabel label = new JLabel(new ImageIcon(image));
contentPane.add(label);
label.setSize(800,600);
saveComponentAsJPEG(label,"a.jpg");
}
public static void saveComponentAsJPEG(Component myComponent, String filename)
{
BufferedImage myImage;
Dimension size = myComponent.getSize();
myImage = new BufferedImage(size.width, size.height,BufferedImage.TYPE_INT_RGB);
java.awt.Graphics2D g2 = myImage.createGraphics();
myComponent.paint(g2);
try{
OutputStream out = new FileOutputStream(filename);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(myImage);
out.close();
}
catch(Exception e){
System.out.println(e);
}
}
}
</script>
<body bgcolor="#000000">
<div align="center">
<table border="0" cellspacing="0" width="100%" cellpadding="0" id="table1" height="662">
<tr>
<td width="50%">
<div align="center" class="dragme"><font face="Bodoni MT Black" color="#FFFF00" size="2">elemento 1</font></div>
<div align="center" class="dragme"><font face="Bodoni MT Black" color="#FFFF00" size="2">elemento 2</font></div>
<div align="center" class="dragme"><font face="Bodoni MT Black" color="#FFFF00" size="2">elemento 3</font></div>
</td>
</tr></table>
</div>
</body>
Ultima modifica di un moderatore: