Bild mit Maus innerhalb eines Rahmens bewegen

kostap

Neues Mitglied
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:

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:
Der Code gehört nirgentwo hin, weil das oben JavaScript ist und das untern eine Java Anwendung.

Das kannst du also nicht nutzten.
 
Und was soll das?

Spielst du die Polizei oder was?

In Foren gibt es Regeln. Und an die soll man sich halten. Dazu gehört auch eine Nettiquette.

Ich habe dich lediglich darauf hingewiesen, dass du den Thread den jeder vor seinem ersten Post lesen soll NICHT gelesen hast, und darin steht RIESENGROß am Anfang, dass das hier kein Jav Script Forum ist!

Ergo: Es ist Zufall wenn dir jemand bei Java Script Problemen helfen kann.

Deswegen bin ich noch lange nicht die Polizei und so unfreundlich musst du auf den Hinweis auch nicht reagieren.

Hättest ja auch mal reingucken können.
 

Zurück
Oben