2015-10-04 51 views
0

我试图在用户向下滚动时缩放图像。滚动时缩放图像(保持良好比例)

它工作正常,但我遇到的问题是它不保持良好的比例。我的意思是我的图像是212像素宽度×800像素高度。在规模上滚动像它是一个方形图像..。

这是我的Jsfiddle,它会让我感觉更灵敏。 ..

任何帮助将是非常了不起:)

http://jsfiddle.net/mw73enz8/6/

<img src="http://i57.tinypic.com/2d9v77d.png""> 
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> 
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> 
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> 

CSS:

img { 
    position: fixed; 
    left: 0; 
    top: 0; 
    width: 0px; 
    height: 0px; 
} 

$(window).on("scroll", function() { 
    var s = Math.min(400, $(document).scrollTop()) + 100; 
    $("img").width(s).height(s); 
}); 

回答

1
$(function() { 
    var width = $('img').width(); 
    var height = $('img').height(); 

    //set width,height to 0 now in order to get real width and height 
    $('img').width(0).height(0); 

    var ratio = width/height; 


$(window).on("scroll", function() { 

    console.log(ratio); 
    var w = $(document).scrollTop();  
     $("img").width(w*ratio).height(w) 
}); 

}); 
+0

马吕斯你好,谢谢:) 的事情是我希望它在开始时是不可见的 - 在用户滚动时使其像放大效果一样...与自动高度,图像出现在开始不幸:(你有任何解决方案?谢谢你的时间 – tibewww

+0

更新,这应该工作http://jsfiddle.net/mw73enz8/10/,如果你想显示它更大,你可以乘以w的东西 – 2015-10-04 15:24:15

+0

真棒谢谢你太多了! – tibewww