Fehler: Bezeichner erwartet im Internet Explorer

nosilume

Erfahrenes Mitglied
Hallo !
Ich habe ein kleines Script geschrieben, und im Firefox funktioniert es bestens. Der Internet Explorer meckert aber rum: "Bezeichner erwartet". Ich habe keine Ahnung was das soll, noch unverständlicher geht eine Fehlermeldung ja kaum. Ich poste mal das Script:
HTML:
<div id="screens"></div>
<a href="#" class="clear" id="less" onclick="addOffset(-<?php echo $this->screensPerSite ?>)" onfocus="this.blur()">Weniger Bilder</a>
<a href="#" id="more" onclick="addOffset(<?php echo $this->screensPerSite ?>)">Mehr Bilder</a>
<noscript>
<p>Sie k&ouml;nnen die Screenshots leider nur mit aktiviertem Javascript betrachten.</p>
</noscript>
<script type="text/javascript" src="<?php echo $this->jsUrl ?>/jquery.js"></script>
<script type="text/javascript" src="<?php echo $this->jsUrl ?>/thickbox.js"></script>
<script type="text/javascript">
/* <![CDATA[ */
var offset = 0;

function getOffset() {
	return offset;
}

function createScreens() {
	var screensPerSite = <?php echo $this->screensPerSite ?>;
	var thumbs = eval (<?php echo $this->thumbsJson ?>);
	var screens = eval (<?php echo $this->screensJson ?>);
	var div = document.getElementById('screens');
	var img, a, i;
	var less = document.getElementById('less');
	var more = document.getElementById('more');
    
	if (offset > 0) {
		less.style.display = 'block';
	} else {
		less.style.display = 'none';
    }
    
    deleteChildren(div);

	for (var i = offset; i < (offset + screensPerSite); i++) {
		if (screens[i] == undefined || thumbs[i] == undefined) {
            more.style.display = 'none';
			break;
		} else {
            more.style.display = 'inline';
        }

		a = document.createElement('a');
		img = document.createElement('img');

		a.href = '<?php echo $this->baseUrl ?>/' + screens[i];
		a.class = 'thickbox';

		img.src = '<?php echo $this->baseUrl ?>/' + thumbs[i];
		img.alt = 'Screenshot aus LSHIII';
		img.title = 'Screenshot aus LSHIII';

		div.appendChild(a);
		a.appendChild(img);
	}
}

function deleteChildren(tag) {
	var child;
	while (tag.hasChildNodes() == true) {
		tag.removeChild(tag.firstChild);
	}
}

function addOffset(newOffset) {
	offset =+newOffset;
	if (offset < 0) {
		offset = 0;
	}

	createScreens();
}

window.onload = createScreens();
/* ]]> */
</script>
<br/><br/>
<p>
<a href="<?php echo $this->url(array('page' => 0), 'info') ?>">zur&uuml;ck zu der Beschreibung</a>
<a href="<?php echo $this->url(array('page' => 2), 'info') ?>">weiter zu den Systemanforderungen</a>
</p>

Ich hoffe ihr könnt mir helfen. Danke schonmal im Voraus...
nosilume
 
Zuletzt bearbeitet:
Erstmal zu Zeile:
Code:
window.onload = createScreens();
..wenn du createScreens() beim onLoad aufrufen willst, solltest du es so schreiben:
Code:
window.onload = createScreens;

zur Fehlermeldung:
das JS-Attribut, um einen Klassennamen zu Ändern, heisst className...also
Code:
a.className = 'thickbox';
 
Sorry erstmal dass ich mich erst jetzt melde und zweitens: Danke. Es läuft jetzt (auch wenn ich nicht weiß ob das an deinen Fehlerkorrekturen liegt oder an meinen Änderungen nach dem Zuffallsprinzip).
 
Naja....ich hab halt nachgeguckt, in welcher Zeile die Fehlermeldung auftritt, und da stand:
Code:
a.class = 'thickbox';
...also sollte es daran schon gelegen haben, zumal die Fehlermeldung nach dieser Änderung weg war :)
 

Neue Beiträge

Zurück