Ho una pagina con div cliccabili che attivano o disattivano il contenuto quando si fa clic. Quando il div viene cliccato la seconda volta (chiudendo il contenuto), la pagina torna indietro in alto.attiva il salto indietro all'inizio della pagina
Vedo che questo è un problema che altre persone hanno avuto, ma tutte le soluzioni che ho trovato sono legate al tag di ancoraggio, che non è il problema qui.
Ho provato a cambiare il mio codice per la soluzione here e ad aggiungere return false;
e event.preventDefault();
ma nessuno di quelli ha funzionato. Che cosa sto facendo di sbagliato?
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();
});
});
struttura HTML (questo si ripete più volte nella pagina):
<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 - Se si scorre in basso a destra, e fare clic sul + segno accanto alla bandiera, vedrai cosa intendo.
Puoi pubblicare un esempio funzionante su http://jsfiddle.net/ per favore? – pyb
@BobM http://jsfiddle.net/11cptbmz/ ha aggiornato anche la domanda. Grazie. – surfbird0713