Ich habe eine Seite mit anklickbaren divs, die Inhalt umschalten, wenn geklickt wird. Wenn das div zum zweiten Mal geklickt wird (Schließen des Inhalts), springt die Seite wieder nach oben.Toggle auf Div springen zurück zum Anfang der Seite
Ich sehe, das ist ein Problem, das andere Leute hatten, aber alle Lösungen, die ich gefunden habe, sind mit dem Anker-Tag verwandt, was hier nicht das Problem ist.
Ich habe versucht, meinen Code pro die Lösung here und return false;
und event.preventDefault();
hinzufügen, aber keiner von denen funktioniert. Was mache ich falsch?
jQuery:
$(document).ready(function(){
$('h1').animate({"right":"147px"},3000);
$('.more').toggle(
function(){
$(this).css({
'z-index':'100',
'background-position': '41px 0px'
});
$('#heroFullColor').hide();
$('#heroNoColor').show();
$('div.' + $(this).attr('id')).fadeIn('fast');
$('.more').not(this).hide();
},
function(){
$(this).css({
'background-position': '0px 0px'
});
$('div.' + $(this).attr('id')).fadeOut('fast');
$('#heroNoColor, .infoWindow').hide();
$('#heroFullColor').fadeIn('fast');
$('.more').not(this).show();
});
});
HTML-Struktur (dies mehrmals auf der Seite wiederholt):
<div class="more" id="franceFlag"></div>
<div class="infoWindow franceFlag">
<img class="imageOn" src="images/lp_foundry_on-franceFlag.jpg" width="71" height="213" alt="French Flag" id="franceFlagOn" />
<p class="franceFlag">blah blah blah</p>
</div>
<div class="more" id="heliBoth"></div>
<div class="infoWindow heliBoth">
<img class="imageOn" src="images/lp_foundry_on-heliBoth.jpg" width="296" height="750" alt="Helicopters" id="heliBothOn" />
<p class="heliBoth">blah blah blah</p>
</div>
Here is a fiddle - wenn Sie blättern nach rechts unten, und klicken Sie auf + Schild neben der Flagge, du wirst sehen, was ich meine.
Können Sie bitte ein funktionierendes Beispiel auf http://jsfiddle.net/ veröffentlichen? – pyb
@BobM http://jsfiddle.net/11cptbmz/ aktualisiert die Frage auch. Vielen Dank. – surfbird0713