2013-02-25 13 views
5

ho un elemento che ha una posizione fissa, ma ha la possibilità di scorrere a destra ea sinistra con un calcolo jQuery che ho usato da this example on JsFiddle.elemento con scrollLeft scorre più velocemente del resto del documento

$(window).scroll(function(event) { 
var x = 0 - $(this).scrollLeft(); 
var y = $(this).scrollTop(); 

// whether that's below the form 
if (y >= top) { 
    // if so, ad the fixed class 
    $('.scroll_fixed').addClass('fixed'); 
} else { 
    // otherwise remove it 
    $('.scroll_fixed').removeClass('fixed'); 
} 

$(".scroll_fixed").offset({ 
    left: x + leftInit 
}); 

}); 

La soluzione funziona bene fino a quando non devo scorrere a sinistra, dove l'elemento viene fatto scorrere "parallasse" rispetto al resto del documento, cioè scorre due volte più velocemente del resto del documento.

So che questo è un problema con il calcolo di jQuery, ma mi chiedevo se qualcuno lo ha mai incontrato prima? e se sì, come l'hai affrontata? Sono ad un po 'di una perdita ....

modificare

problema risolto - E' stato perché il codice stava usando $ (window) .scrollLeft(); invece dell'elemento genitore nell'ambito dell'elemento che desideravo manipolare.

il div wrapper era classificato come "wrapperDiv", quindi ho usato $ (". WrapperDiv"). ScrollLeft();

vorrei segnare questa domanda come chiesto, ma come io sono nuovo di Stack Overflow non posso rispondere per altri 7 ore ....

risposta

0

Proprio per segnalare questa domanda ha risposto:

"E ' era perché il codice stava usando $(window).scrollLeft(); invece dell'elemento padre all'interno dell'ambito dell'elemento che desideravo manipolare. Il div wrapper era classificato come "wrapperDiv", quindi ho usato $(".wrapperDiv").scrollLeft(); "

Problemi correlati