Hallo zusammen.
Ich bin Anfänger und habe folgende Frage.
Ich habe einen Code, der ist für ein großes Bild mit verschiedene kleine Bilder (10x10 pixel) die eine Mouseover Funktion haben.
Ich möchte dass man ein Teil dieses großen Bildes sehen kann und mit der Maus in das Bild hin und her naviegieren können so wie bei yahoo map:
Yahoo! Maps, Driving Directions, and Traffic
Ich habe einen Code der dazu angeblich passend sein soll aber ich weiß nicht wo er hin gehört.
Hier der Code für das Bild:
Wie kann ich das tun?
Ist der folgende Code richtig? Und wenn ja wo kommt er hin?
Ich wäre Dankbar für eure Hilfe.
mfg
Ich bin Anfänger und habe folgende Frage.
Ich habe einen Code, der ist für ein großes Bild mit verschiedene kleine Bilder (10x10 pixel) die eine Mouseover Funktion haben.
Ich möchte dass man ein Teil dieses großen Bildes sehen kann und mit der Maus in das Bild hin und her naviegieren können so wie bei yahoo map:
Yahoo! Maps, Driving Directions, and Traffic
Ich habe einen Code der dazu angeblich passend sein soll aber ich weiß nicht wo er hin gehört.
Hier der Code für das Bild:
HTML:
<script type="text/javascript">
//<!--
var momentanesElement=null;
function elementAnzeigen(element) {
if(momentanesElement!=null)
momentanesElement.style.display='none';
momentanesElement=element;
if(element!=null)
element.style.display='block';
}
//-->
</script>
<div>
<!-- deine Karte -->
<img src="Bild.jpg" alt="" height=440 width=1200>
<!-- ein Marker/Tooltip-->
<div style="left:310px;top:180px;position:absolute;" onMouseOver="if(lastChild.previousSibling!=momentanesElement)lastChild.style.display='block';" onMouseOut="lastChild.style.display='none';">
<img src='pointrot.gif'>
<div id="boxId1" style="border:2px solid #F9840F;display:none;position:absolute;bottom:5px;left:5px;background-color:#FFFAF2;">Eine Beschreibung. <a href="#" onClick="elementAnzeigen(null)">schließen</a>
</div><div style="display:none;z-index:1001" onClick="elementAnzeigen(previousSibling);style.display='none';">
<a href="#" style="border:2px solid #F9840F;position:absolute;bottom:5px;left:5px;background-color:#FFFAF2;white-space: nowrap;padding:2px;">Toooltip TextAAA</a></div></div>
</div>
Wie kann ich das tun?
Ist der folgende Code richtig? Und wenn ja wo kommt er hin?
Java:
hScrollbar = jScrollPane1.getHorizontalScrollBar();
jScrollPane1.setViewportView(panel);
panel.addMouseMotionListener(new MouseMotionAdapter(){
public void mouseMoved(MouseEvent e) {
panelMouseMoved(e);
}
});
panel.addMouseListener(new MouseAdapter(){
public void mouseExited(MouseEvent e) {
if(thread!=null && thread.isAlive()) thread.interrupt();
}
});
...
private void panelMouseMoved(MouseEvent evt) {
x1 = evt.getX();
Point viewPos = jScrollPane1.getViewport().getViewPosition();
Dimension viewSize = jScrollPane1.getViewport().getSize();
x2 = (int)viewPos.getX();
y2 = (int)viewPos.getY();
x2Right = x2 + viewSize.width;
marginLeft = x1 - x2;
marginRight = x2Right - x1;
if( marginLeft < 50 || marginRight < 50 ){
if(thread!=null && thread.isAlive())return;
if(marginLeft < 50){
thread = new Thread(new Runnable(){
public void run() {
while(hScrollbar.getValue() > 0){
x2 = x2 - 5;
SwingUtilities.invokeLater(new Runnable(){
public void run() {
jScrollPane1.getViewport().setViewPosition(new Point(x2, y2));
}
});
try {Thread.sleep(10+marginLeft*3);} catch (InterruptedException ex){break;}
}
}
});
}else{
thread = new Thread(new Runnable(){
public void run() {
int w2 = (int)panel.getPreferredSize().getWidth();
int w1 = jScrollPane1.getViewport().getExtentSize().width;
while((jScrollPane1.getViewport().getViewPosition().getX() +w1) < w2){
x2 = x2 + 5;
SwingUtilities.invokeLater(new Runnable(){
public void run() {
jScrollPane1.getViewport().setViewPosition(new Point(x2, y2));
}
});
try {Thread.sleep(10+marginRight*3);} catch (InterruptedException ex){break;}
}
}
});
}
thread.start();
}else{
if(thread!=null && thread.isAlive()) thread.interrupt();
}
}
Ich wäre Dankbar für eure Hilfe.
mfg
Zuletzt bearbeitet von einem Moderator: