2013-03-14 78 views
0

期間設置不承認價值觀,我有以下功能:jQuery的:CSS動畫

var height = $('.fade').outerHeight(); 

function fadeIt() { 
    var fade = function() { 
     var opcty = (height - window.scrollY)/height; 

     if (opcty >= 0) { 
      console.log(opcty); 
      $('.fade').css('opacity', opcty); 
     } 
    }; 

    $(window).on('scroll', fade); 
} 

應該「地圖」一個div來滾動位置的不透明度。其實,它甚至有效!但不能與設置不透明度的CSS動畫結合使用。我相信這是因爲jQuery不能識別CSS動畫的值,但我不確定。我該如何做這項工作? 在下面的Fiddle中,我標記了需要刪除的兩個CSS規則以查看該函數的工作原理。

回答

1

ammm我編輯這和它的作品

.fade { 
position: fixed; 
width: 100px; 
height: 100px; 
background-color: red;} 

var height = $('.fade').outerHeight();function fadeIt() { var fade = function() { 
    var opcty = (height - window.scrollY)/height; 

    if (opcty >= 0) { 
     console.log(opcty); 
     $('.fade').css({opacity: (height - window.scrollY)/height}); 
    } 
}; 

$(window).on('scroll', fade);}fadeIt(); 

而這樣一來它的工作原理,buuutt,如果你改變的CSS來.animate並添加250時,byeee它工作得更好。

+1

+1這看起來與我開始製作的小提琴完全相同,用100px固定的紅色div完成! – 2013-03-14 18:51:12

+0

但這樣CSS動畫被完全刪除,這不是一個選項。 – Sven 2013-03-14 18:57:32

+0

那麼,然後添加一個jQuery的動畫,所以你會有一個crossbrowser動畫,也滾動動畫。 。 。 – 2013-03-14 19:02:12