Wenn das die Funktion ist die beim Mausevent auftriit musst du hier den Parameter holen:
function zoom() {
function zoom(evt) {
und dann entsprechend deiner calc Funktion weitergeben:
//-----------------ZoomIn------------------------------------
if((actpic==0) && (event.button==1)) {
calc("D_3200",238,"1:3.200.000",true);
calc(evt, "D_3200",238,"1:3.200.000",true);
die in dieser Funktion aufgerufene calc()-Fkt. sieht bisher so aus:
function calc(name, px, imageUrl, zoomStep){
Hier seht es dann so aus:
function calc(evt, name, px, imageUrl, zoomStep){
x = evt ? evt.pageX : window.event.x + document.body.scrollLeft ;
y = evt ? evt.pageY : window.event.y + document.body.scrollTop;
Das Funktioniert übrigens im IE nicht immer. Da document.body nicht in jedem Modus gesetzt werden. Du brauchst für den IE 3 Varianten:
if(document.compatMode && document.compatMode == "BackCompat")
{
// IE 6 im Quirks-(BackCompat) Modus
_MOUSE_POS_.scrollLeft = _MOUSE_POS_.left + document.body.scrollLeft;
_MOUSE_POS_.scrollTop = _MOUSE_POS_.top + document.body.scrollTop;
}
else if (document.compatMode && document.compatMode == "CSS1Compat") {
// IE 6 im CSS1Compat Modus
_MOUSE_POS_.scrollLeft = _MOUSE_POS_.left + document.documentElement.scrollLeft;
_MOUSE_POS_.scrollTop = _MOUSE_POS_.top + document.documentElement.scrollTop;
}else if (document.body)
{
// IE < 6 (nicht sicher da ich nur den IE 4 hab)
_MOUSE_POS_.scrollLeft = _MOUSE_POS_.left + document.body.scrollLeft;
_MOUSE_POS_.scrollTop = _MOUSE_POS_.top + document.body.scrollTop;
}
Struppi.