我試圖創建一個視差效果,需要4個圖像,並且當您向下滾動頁面時,4個圖像開始彼此堆疊。這是一個在Smokey Bones Website上合併的漢堡的視覺示例。這是一個比我想要提供一些視覺洞察力更復雜的例子。我非常熟悉Javascript,Jquery等,只需要一些想法如何開始這個過程中的數學部分或任何例子。創建堆疊的圖像視差
回答
這裏有一個小提琴證明的基本思想:http://jsfiddle.net/reblace/z8P56/1
我只是用偏移圖像的線性函數:
$("#img1").css({top: (scroll)*100 + 'px' });
很明顯,你可以用這種方式獲得更復雜。理想情況下,您應該從頁面本身獲取頁面高度等內容,而不僅僅是對其進行硬編碼。
要注意的另一件事是,真正的視差公式更復雜,涉及三角和從視圖位置繪製對象的相對距離和角度。我在這個例子中使用的線性函數是一種簡化,您可能爲了Web的目的而避免這種簡化。
基本上,你想要根據值的範圍和值的範圍來考慮它...即。滾動位置是從0到5000px,並且圖像我想從0到100px。因此,如果域爲[0,5000],範圍爲[0,100],我會將域映射到從0到1的範圍,然後將其擴展到從0到100,即。 imagePos =(scrollPos/5000)* 100
如果我反而想將0-5000的滾動位置映射到10-50的圖像位置,我必須縮放並移動前面的公式,即。 imagePos =(scrollPos/5000)* 40 + 10
在縮放和移位之前,您可以通過反轉0-1刻度來反轉滾動(從50到10) imagePos =(1 - (scrollPos/5000))* 40 + 10
我想你可以通過玩這些例子來獲得想要的效果。
更新:這是一個稍微複雜的小提琴,其評論使用更穩健的方法計算正確的滾動範圍和窗口高度。此外,這一個演示了圖像的反轉滾動:http://jsfiddle.net/reblace/z8P56/4。
哇,真是太神奇了,謝謝!我要讀這個,試一試! – GO3DExpansion
終於實現了這一點,並完美地工作只是一個最後的快速問題,我將如何去達到崩潰的圖像之前完整的窗口,說約500px文檔的末尾? – GO3DExpansion
- 1. 堆疊重疊的圖像視圖
- 2. 如何創建類似LinkedIn的可堆疊堆棧視圖
- 3. UIcollection視圖顯示堆疊在單個視圖中的圖像
- 4. 創建一個堆疊面積圖或「堆疊」圈子情節
- 5. 創建堆疊的tiff文件導致圖像偏移
- 6. 如何在android中創建可堆疊的圖像?
- 7. 使用ImageMagick創建偏移堆疊的圖像
- 8. 在Tableau中創建「堆疊」甘特圖?
- 9. 如何創建視差圖?
- 10. 創建堆疊柱狀圖(可視化API)
- 11. 如何創建像Stack Overflow這樣的視覺差異視圖?
- 12. 創建水平堆疊格
- 13. 堆疊視圖控制器
- 14. 在RecyclerView中堆疊視圖
- 15. Xojo圖像堆疊順序
- 16. 堆疊一些圖像
- 17. 停止堆疊圖像?
- 18. 如何使用相對佈局創建重疊圖像視圖。
- 19. 在移動視圖中未正確堆疊的圖像bootstrap
- 20. 帶「堆疊」圖像的圖庫
- 21. Qt:創建一個圖像的堆棧
- 22. 堆疊連接性能差
- 23. 如何用R和ggplot創建堆疊和非堆疊組合條形圖?
- 24. 使用不是背景的圖像創建類視差效果
- 25. 創建的視差圖像作出反應原住民
- 26. 當視圖較小時如何堆疊兩個內嵌圖像?
- 27. 在視圖中堆疊縮略圖
- 28. 創建視圖疊加在MPMoviePlayerViewController
- 29. 在EAGLView頂部創建疊加視圖
- 30. 動畫中的子視圖堆疊
你可以只使用一些帶有透明背景的PNG文件,並將它們放置在使用絕對定位的DIV中嗎?在滾動事件中手動調整位置。 –
@RyanGriggs就我的邏輯而言,這就像哈哈。任何一個簡單的例子都可以用來說明這一點? – GO3DExpansion
@reblace自微積分哈哈以來已經好幾年了。任何簡單的例子可以扔在一起來說明這個功能? – GO3DExpansion