Ich hab jetzt Aufruf und Funktion zusammengelegt, und siehe da: es funktioniert wie gewünscht!
Kein #undefined mehr in der Adresszeile beim Klicken auf einen Anker-Link.
Vielen Dank an alle
Nochmal die Situation: in #main ist eine Seite mit verschiedenen Artikeln. In #right ist die Artikelliste als Modul eingebunden. Die damit generierten Anker lassen sich von der Artikelliste "weich" anscrollen. Läuft unter Contao 2.11.6 mit normalen Bordmitteln.
Hier nun der Inhalt meiner externen JS-Datei, inkl. aller Extras
Code:
/* <![CDATA[ */
/* Top-Link platzieren */
setspace = function() {
distance1 = $('right').offsetLeft;
distance2 = $$('.mod_toplink')[0].offsetLeft;
space = distance2 - distance1;
$$('.mod_toplink')[0].setStyle('bottom',space);
};
/* Top-Link ein- und ausblenden */
toplink = function() {
document.writeln("<div>");
document.writeln("<img src='files/dimensionen/version2/up.png' alt='' />Nach oben");
$$('.mod_toplink').setStyle('opacity','0');
setspace();
document.writeln("</div>");
window.onscroll = function() {
if (window.pageYOffset > 100) {
$$('.mod_toplink').fade('in');
} else {
$$('.mod_toplink').fade('out');
};
};
};
/* Frame-Killer */
if (top.location != self.location) {
top.location.replace(self.location);
} else {
/* Body-Klasse js ergänzen */
window.addEvent('domready', function() {
document.getElementsByTagName('body')[0].className += ' js'
});
/* Logo-Animation */
window.addEvent('domready', function() {
var images = [];
var path = "/files/dimensionen/version2/logo_animation/";
var img_paths = [path+'1.png', path+'2.png', path+'3.png', path+'4.png', path+'leer.png'];
var loader = new Asset.images(img_paths, {
onComplete: function() {
img_paths.each(function(im) {
images[im] = new Element('img', {
'src': im,
'alt': 'Dimensionen',
'styles': {
'opacity': '0',
'position': 'absolute',
}
});
images[im].inject($('logo_container'));
$$('#logo_container img').each(function(frame, index) {
frame.set('tween', {
duration: 750
}).tween.delay(index * 250, frame, ["opacity", [0, 1]]);
});
});
}
});
});
/* Smooth Scroll zu allen Ankern */
window.addEvent('domready', function() {
new Fx.SmoothScroll( {duration: 1000}, window);
});
/* Suche Standardwert Teil 2/2 */
window.addEvent('domready', function() {
$('ctrl_1').clearFocusResetBlur('value');
});
/* Suchergebnis übernehmen, in Suchfeld übernehmen und markieren */
window.addEvent('domready', function() {
if ($('ctrl_keywords_7')) {
$('ctrl_1').value = $('ctrl_keywords_7').value;
$('ctrl_1').select();
}
});
/* Top-Link platzieren */
window.addEvent('resize', setspace);
};
/* Suche Standardwert Teil 1/2 */
Element.implement( {
clearFocusResetBlur: function(attr) {
var valueString = this.get(attr);
this.addEvents( {
'focus': function() {
if ( this.get('value') == valueString ) this.set('value','');
},
'blur': function() {
if ( this.get('value') == "" ) this.set('value',valueString);
}
});
}
});
/* ]]> */
Lesezeichen