2012-07-13 14 views
5

Ho aggiunto uno script che ho trovato qui. Funziona a meraviglia. Tuttavia, mi sono bloccato quando ho provato ad applicare un effetto di dissolvenza su di esso. Al momento si interrompe.Effetto dissolvenza su scorrimento

script type="text/javascript"> 


    $(document).ready(function() { 


     $(window).scroll(function() { 
       var height = $('body').height(); 
       var scrollTop = $('body').scrollTop(); 
       var opacity = 1; 


       if(scrollTop > 400) { 
        opacity = 0; 
       } 

      $('.social').css('opacity', opacity); 
     }); 
    }); 
</script> 

EDIT: Ho legato questo e funziona. Grazie mille ragazzi:

<script type="text/javascript"> 
$(window).scroll(function() { 
// The social div 
var $socialDiv = $('.social'); 

//Get scroll position of window 
var windowScroll = $(this).scrollTop(); 

//Slow scroll of social div and fade it out 
$socialDiv.css({ 
'margin-top' : - (windowScroll/3) + "px", 
'opacity' : 1 - (windowScroll/550) 
}); 
}); 
</script>​ 

risposta

2

Si dovrebbe usare .animate() o .fadeTo() per quell'effetto.

Utilizzare .css('opacity', opacity); farà in modo che il tuo elemento scompaia bruscamente.

+0

Mi dispiace di essere un po 'stupido, lo cambio in $ ('. Social ') .animate ("slow"); – Michael

+1

È più facile usare '.fadeTo()' qui. Puoi usare qualcosa come '$ ('. Social'). FadeTo ('slow', opacity);' Inoltre, invece di 'slow' puoi usare il numero di millisecondi di cui ha bisogno per sbiadire. Ad esempio, '$ ('. Social'). FadeTo (500, opacità);' – RRikesh