Ralf Muschke: parent.frames["inhaltFrame"] nicht auf iframes anwendbar ?

Beitrag lesen

Jetzt hab ich einen interessanten Effekt! Wenn ich auf einen Link klicke fährt beim IE der iframe komplett nach rechts und wenn man ihn mit der Maus verschieben möchte, fährt er immer wieder nach rechts wenn man die Maus los lässt.

Also die js datei die für das alles verantwortlich ist, sieht folgendermaßen aus:

// This is configurable
var SCREEN_WIDTH = 200;

var STEPS = new Array(0, 40, 40, 50, 50, 60, 60, 100, 150, 200, 300);
var POSITIONS = new Array(0, 200,400,600,800,1000,1200);

var slideSteps = 100;

// This is fixed
var slideTimer = 0;
var slideStep = 60;
var isIE = -1 != navigator.appName.indexOf("Microsoft");
var isNN = -1 != navigator.appName.indexOf("Netscape");

function getXOffset() {
  if(window.window.pageXOffset)
    return window.pageXOffset;
  else if(document.body.scrollLeft)
    return document.body.scrollLeft;
  else return false;
}

function slideScreen(index) {
    // Clear slide timer
    if (0 != slideTimer) {
        clearTimeout(slideTimer);
        slideTimer = 0;
    }
    // Check if scroll is to an end
    // var finalLeft = (index - 1) * SCREEN_WIDTH;
    var finalLeft = POSITIONS[index-1]
    var currentLeft = getXOffset();
    if (currentLeft == finalLeft) {
        return;
    }
    // Scroll
    var isForward = currentLeft < finalLeft;
    // This adjustment is required for NN, whose scrollTo() is not reliable.
    if (slideStep > Math.abs(finalLeft - currentLeft)) {
        slideStep = Math.abs(finalLeft - currentLeft);
    }
    var scrollStep = isForward ? slideStep : -slideStep;
    scrollBy(scrollStep, 0);
    // Set next slide timer
    slideTimer = setTimeout("slideScreen(" + index + ")", 1000 / slideSteps);
} // slideScreen

function goToScreen(index) {
    if (!isIE && !isNN) {
        return;
    }

//var finalLeft = (index - 1) * SCREEN_WIDTH;
    var finalLeft = POSITIONS[index-1]

var currentLeft = getXOffset();
    if (finalLeft == currentLeft) {
        return;
    }
    var stepIndex = Math.round(Math.abs(finalLeft - currentLeft) / SCREEN_WIDTH);
    slideStep = STEPS[stepIndex];
    slideScreen(index);
} // goToScreen

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
//-->

Leider bin ich in Javascript nicht so bewandert könntest du mir zeigen wie ich die Browserunterscheidung korrekt anwende ?