固定背景实现的背景滚动特效示例分享_javascript技巧
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了固定背景实现的背景滚动特效示例分享_javascript技巧,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4206字,纯文字阅读大概需要7分钟。
内容图文
![固定背景实现的背景滚动特效示例分享_javascript技巧](/upload/InfoBanner/zyjiaocheng/317/ea9444345ceb440f9d1c332461695598.jpg)
![固定背景实现的背景滚动特效示例分享_javascript技巧 - 文章图片](/upload/getfiles/0001/2021/4/22/20210422095705878.jpg)
分享一个来自corpse的固定背景滚动特效,使用background-attachment: fixed和导航菜单,页面会非常平滑的滚动。
HTML
代码如下:
CSS
代码如下:
/* Set all parents to full height */ html, body, .container, .cbp-fbscroller, .cbp-fbscroller section { height: 100%; } /* The nav is fixed on the right side and we center it by translating it 50% (we don't know it's height so we can't use the negative margin trick) */ .cbp-fbscroller > nav { position: fixed; z-index: 9999; right: 100px; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } .cbp-fbscroller > nav a { display: block; position: relative; color: transparent; height: 50px; } .cbp-fbscroller > nav a:after { content: ''; position: absolute; width: 24px; height: 24px; border-radius: 50%; border: 4px solid #fff; } .cbp-fbscroller > nav a:hover:after { background: rgba(255,255,255,0.6); } .cbp-fbscroller > nav a.cbp-fbcurrent:after { background: #fff; } /* background-attachment does the trick */ .cbp-fbscroller section { position: relative; background-position: top center; background-repeat: no-repeat; background-size: cover; background-attachment: fixed; } #fbsection1 { background-image: url(../images/1.jpg); } #fbsection2 { background-image: url(../images/2.jpg); } #fbsection3 { background-image: url(../images/3.jpg); } #fbsection4 { background-image: url(../images/4.jpg); } #fbsection5 { background-image: url(../images/5.jpg); }
Javascript
代码如下:
/** * cbpFixedScrollLayout.js v1.0.0 * http://www.codrops.com * * Licensed under the MIT license. * http://www.opensource.org/licenses/mit-license.php * * Copyright 2013, Codrops * http://www.codrops.com */ var cbpFixedScrollLayout = (function() { // cache and initialize some values var config = { // the cbp-fbscroller′s sections $sections : $( '#cbp-fbscroller > section' ), // the navigation links $navlinks : $( '#cbp-fbscroller > nav:first > a' ), // index of current link / section currentLink : 0, // the body element $body : $( 'html, body' ), // the body animation speed animspeed : 650, // the body animation easing (jquery easing) animeasing : 'easeInOutExpo' }; function init() { // click on a navigation link: the body is scrolled to the position of the respective section config.$navlinks.on( 'click', function() { scrollAnim( config.$sections.eq( $( this ).index() ).offset().top ); return false; } ); // 2 waypoints defined: // First one when we scroll down: the current navigation link gets updated. // A `new section′ is reached when it occupies more than 70% of the viewport // Second one when we scroll up: the current navigation link gets updated. // A `new section′ is reached when it occupies more than 70% of the viewport config.$sections.waypoint( function( direction ) { if( direction === 'down' ) { changeNav( $( this ) ); } }, { offset: '30%' } ).waypoint( function( direction ) { if( direction === 'up' ) { changeNav( $( this ) ); } }, { offset: '-30%' } ); // on window resize: the body is scrolled to the position of the current section $( window ).on( 'debouncedresize', function() { scrollAnim( config.$sections.eq( config.currentLink ).offset().top ); } ); } // update the current navigation link function changeNav( $section ) { config.$navlinks.eq( config.currentLink ).removeClass( 'cbp-fbcurrent' ); config.currentLink = $section.index( 'section' ); config.$navlinks.eq( config.currentLink ).addClass( 'cbp-fbcurrent' ); } // function to scroll / animate the body function scrollAnim( top ) { config.$body.stop().animate( { scrollTop : top }, config.animspeed, config.animeasing ); } return { init : init }; })();
内容总结
以上是互联网集市为您收集整理的固定背景实现的背景滚动特效示例分享_javascript技巧全部内容,希望文章能够帮你解决固定背景实现的背景滚动特效示例分享_javascript技巧所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。