Hallo,
ich hab von Javascript so gut wie kein Plan und baue gerade eine Wordpressseite zusammen.
Dabei benutz ich auch ein Plugin mit dem man solche ausklappbaren Accordions (hoffe ihr wisst was ich meine) einfügen kann.
Mein Problem ist jetzt, dass ich auch eine Navi in der Website habe, die ab dem Zeitpunkt, an dem man den oberen Bildschirmrand erreicht dort fixed ist.
Die Accordions scrollen beim öffnen automatisch soweit, bis der Titelbereich auch am oberen Bildschirmrand ist.
Da dort ja aber schon das fixierte div von der Navigation ist, sieht man den Titel nicht weil die Navi-Div darübergelagert ist.
Ich glaube ich hab schon den Teil im Plugin ausgemacht, in dem der Scrolleffekt für das Accordion steckt.
Allerdings weiß ich nicht, wie ich da nun was einfügen kann, dass er eben nicht bis ganz zum oberen Bildschirmrand scrollt, sondern noch einen oberen Abstand von 33 px einhält quasi nen margin-top von 33 oder sowas(so hoch ist das Navi-div).
Hier das ist der CodeTeil der scheinbar fürs öffnen und dann an den Bildschirmrandscrollen zuständig ist.
ich hab von Javascript so gut wie kein Plan und baue gerade eine Wordpressseite zusammen.
Dabei benutz ich auch ein Plugin mit dem man solche ausklappbaren Accordions (hoffe ihr wisst was ich meine) einfügen kann.
Mein Problem ist jetzt, dass ich auch eine Navi in der Website habe, die ab dem Zeitpunkt, an dem man den oberen Bildschirmrand erreicht dort fixed ist.
Die Accordions scrollen beim öffnen automatisch soweit, bis der Titelbereich auch am oberen Bildschirmrand ist.
Da dort ja aber schon das fixierte div von der Navigation ist, sieht man den Titel nicht weil die Navi-Div darübergelagert ist.
Ich glaube ich hab schon den Teil im Plugin ausgemacht, in dem der Scrolleffekt für das Accordion steckt.
Allerdings weiß ich nicht, wie ich da nun was einfügen kann, dass er eben nicht bis ganz zum oberen Bildschirmrand scrollt, sondern noch einen oberen Abstand von 33 px einhält quasi nen margin-top von 33 oder sowas(so hoch ist das Navi-div).
Hier das ist der CodeTeil der scheinbar fürs öffnen und dann an den Bildschirmrandscrollen zuständig ist.
Code:
omShortcodes.modules.toggle = {
init: function() {
jQuery('.omsc-accordion .omsc-toggle').addClass('omsc-in-accordion').find('.omsc-toggle-title').click(function(){
var $toggle=jQuery(this).parent();
if($toggle.hasClass('omsc-expanded')) {
$toggle.removeClass('omsc-expanded');
$toggle.find('.omsc-toggle-inner').slideUp(300);
return false;
}
var $acc=$toggle.parents('.omsc-accordion');
if(!$acc.hasClass('omsc-multiopen'))
$acc.find('.omsc-toggle.omsc-expanded').removeClass('omsc-expanded').find('.omsc-toggle-inner').slideUp(300);
$toggle.find('.omsc-toggle-inner').slideDown(300,function(){
var h=jQuery(this).parent().height();
var pos=jQuery(this).parent().find('.omsc-toggle-title').offset();
var scroll=jQuery(window).scrollTop();
var wh=jQuery(window).height('');
if(pos.top < scroll || (pos.top > scroll && pos.top+h > scroll+wh))
jQuery('html,body').animate({ scrollTop: pos.top+'px' }, 200);
}).find('iframe[src*="maps.google"]').each(function(){
jQuery(this).attr('src',jQuery(this).attr('src'));
});
$toggle.addClass('omsc-expanded');
});
jQuery('.omsc-toggle').not('.in-accordion').find('.omsc-toggle-title').click(function(){
var $toggle=jQuery(this).parent();
var $inner=$toggle.find('.omsc-toggle-inner');
if(!$inner.length)
return false;
if($inner.is(':animated'))
return false;
$toggle.toggleClass('omsc-expanded');
$inner.slideToggle(300);
if($toggle.hasClass('omsc-expanded')) {
$inner.find('iframe[src*="maps.google"]').each(function(){
jQuery(this).attr('src',jQuery(this).attr('src'));
});
}
return false;
});
}
}