jQuery Accordion / ScrollTo
Hallo zusammen :-)
Nach stundenlanger googelei bin ich jetzt soweit, dass ich doch das Forum bemühen muss...
Auf meiner Seite www.zehelein-schemm.de arbeite ich viel mit dem jQuery Accordion. Das Problem: Die Inhalte des Accordions sind zumeist größer als das Fenster. Wenn man nun nach unten scrollt und das nächste Accordion anklickt, schiebt es sich nach oben (weil das andere geschlossen wird).
Ich möchte nun das Template entsprechend anpassen, sodass die Seite zum aktiven Toggler nach oben springt.
Soweit so gut. Ich weiß es gibt im Internet viele Artikel dazu, ich habe unter anderem diese Erweiterung für jQuery gefunden: http://balupton.github.io/jquery-scrollto/. Es scheint wohl eine der praktikabelsten Lösungen für das Problem (zumindest bei jQuery) zu sein (vielleicht geht es aber noch einfacher?). Die Erweiterung ist bereits eingebunden. Leider habe ich aber keine Ahnung von javascript und weiß daher auch nicht welcher Code an welcher Stelle einzubinden ist.
Das j_accordion Template ist soweit noch jungfräulich:
Code:
<script src="<?php echo TL_ASSETS_URL; ?>assets/jquery/ui/<?php echo JQUERY_UI; ?>/jquery-ui.min.js"></script>
<script>
(function($) {
$(document).ready(function() {
$(document).accordion({
// Put custom options here
heightStyle: 'content',
header: 'div.toggler',
collapsible: true
});
var activate = function(tog) {
var tgs = $('div.toggler');
tgs.removeClass('active');
tog.addClass('active');
tgs.next('div.accordion').attr('aria-hidden', 'true');
tog.next('div.accordion').attr('aria-hidden', 'false');
};
$('div.toggler').focus(function(e) {
$('div.toggler').attr('tabindex', 0);
$(this).attr('tabindex', -1);
}).blur(function() {
$(this).attr('tabindex', 0);
}).click(function() {
activate($(this));
}).keypress(function(event) {
if (event.keyCode == 13) activate($(this));
});
});
})(jQuery);
</script>
Ich danke euch jetzt schon für eure Hilfe. Wer ein bisschen Javascript Erfahrung hat hält meine Frage sicher für bescheuert, aber ich denke ich bin nicht der Erste und Einzige mit dem Problem..
vlg
***
Funktioniert nicht im Chrome???
Vielen Dank für das Script!
Aber kann es sein, dass das bspw. im Chrome (Version 34) nicht funktioniert??
Im Firefox läuft das richtig gut!!!