2013-03-14 59 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