ITPub博客

首页 > IT职业 > IT职场 > 使用CSS和JavaScript创建基本的视差滚动效果(2)

使用CSS和JavaScript创建基本的视差滚动效果(2)

原创 IT职场 作者:cenfeng 时间:2019-07-26 15:22:21 0 删除 编辑

无论页面是否滚动,这都会在视图中以及在background属性内设置的精确坐标处锚定两个气泡。

 Parallaxing气泡

平台设置为两个气泡层的视差。当我们滚动页面时,我们将以与滚动相反的方向移动每个图层,并以不同的速度移动:

演示:   带有parallaxing气泡的页面

JavaScript的:

1
2
3
4
五
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" ><SCRIPT></font></font><font></font>
<font></font><font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" >
//创建跨浏览器requestAnimationFrame方法:</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
window.requestAnimationFrame = window.requestAnimationFrame</font></font><font></font><font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" >
  || </font><font style= "vertical-align: inherit;" >window.mozRequestAnimationFrame</font></font><font></font><font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" >
  || </font><font style= "vertical-align: inherit;" >window.webkitRequestAnimationFrame</font></font><font></font><font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" >
  || </font><font style= "vertical-align: inherit;" >window.msRequestAnimationFrame</font></font><font></font><font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" >
  || </font><font style= "vertical-align: inherit;" > function (f){setTimeout(f,1000/60)}</font></font><font></font>
<font></font><font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" >
var bubble1 = document.getElementById( 'bubbles1' )</font></font><font></font><font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" >
var bubble2 = document.getElementById( 'bubbles2' )</font></font><font></font>
<font></font><font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" >
function parallaxbubbles(){</font></font><font></font><font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" >
  var scrolltop = window.pageYOffset //获取文档垂直滚动的像素数 </font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
  bubble1.style.top = -scrolltop * .2 + 'px' //以20%的滚动速率移动bubble1</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
  bubble2.style.top = -scrolltop * .5 + 'px' //以50%的滚动速率移动bubble2</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
}</font></font><font></font>
<font></font><font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" >
window.addEventListener( 'scroll' , function (){ //页面滚动</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
  requestAnimationFrame(parallaxbubbles) //在下一个可用的屏幕画面上调用parallaxbubbles()</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
}, false )</font></font><font></font>
<font></font><font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" >
</ SCRIPT></font></font>



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69933200/viewspace-2651847/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-06-18

  • 博文量
    125
  • 访问量
    129472