2016-02-05 124 views
0

如何停止jQuery四捨五入到Transfrom: translateY上最近的十進制值?這是iPad上導致性能問題與Safari瀏覽器,因爲它已經變得非常緊張不安停止jQuery四捨五入到最接近的十進制.css()

$(window).on("load resize scroll",function(e){ 

if ($(window).width() > 768) { 
    var item = $('.sticky-stuff'); 
    var container = $(".sticky-container"); 
    var triggerTop = container.offset().top; 
    var triggerBottom = triggerTop + container.height() - item.height(); 

    $(window).scroll(function() { 
     var curentScroll = $(window).scrollTop(); 
     var isTop = curentScroll <= triggerTop; 
     var isBottom = curentScroll >= triggerBottom; 
     var relativeScroll = isTop ? triggerTop : isBottom ? triggerBottom: curentScroll; 
     var offsetY = relativeScroll - triggerTop; 

     item.css({ 
'-webkit-transform' : 'translateY(' + offsetY + 'px)', 
     'transform' : 'translateY(' + offsetY + 'px)', 
     }); 
    }) 
} 
}); 
+0

你確定它是jQuery做它還是瀏覽器? – alex

+0

你想刪除小數還是你想保留它們而不是四捨五入? –

+0

jQuery不會舍入任何東西......在Windows上的Chrome中,您可以設置像0.00000001這樣的值,並且它可以直接設置。無論如何,你會得到這個函數的十進制嗎?似乎不可能。 –

回答

0

你的問題是,鍍鉻例如在CSS總是圍捕基於像素值,換句話說,它不會尊重小數像素,而是把它們扔掉或扔掉。然而,百分比小數在瀏覽器中是受到尊重的,所以它不是Jquery導致這個問題,而是CSS本身就是它的規則。

+0

你也許可以嘗試使用這裏找到的不同測量值來玩http://www.w3schools .com/cssref/css_units.asp –

+0

當我在Chrome中使用類似Skrollr的東西時,它可以使用小數位 - 如何呢? – Simon

+0

這是一個js庫,它在滾動時創建動畫,所以javascript可以解釋小數,但css不能,或者原始css規則不能, –