如果您在页面底部一直向下滚动
http://www.wikihow.com/Organize-Business-Cards
有一个带有很好滚动效果的圆形 div。有谁知道如何做到这一点?我的意思是,这是某种库还是自定义代码?
我已经搜索了整个代码,但除了 HTML 和一些样式表之外,我找不到任何可以产生实际效果的代码。
提前感谢您的帮助:)
如果您在页面底部一直向下滚动
http://www.wikihow.com/Organize-Business-Cards
有一个带有很好滚动效果的圆形 div。有谁知道如何做到这一点?我的意思是,这是某种库还是自定义代码?
我已经搜索了整个代码,但除了 HTML 和一些样式表之外,我找不到任何可以产生实际效果的代码。
提前感谢您的帮助:)
你想要做的是创建你想要动画出来的元素,并fixed position
在页面的右下角给出它,然后你想要给它negative right position
大于它的宽度,所以它被隐藏了。然后使用 JS 来检查窗口滚动位置与窗口高度的关系,当滚动更大时,is-active
向元素添加一个类,将正确的位置从负值转换为 0。
示例 CSS
.circle {
width: 200px;
height: 200px;
border-radius: 100%;
background: silver;
position: fixed;
bottom: 0;
right: -500px;
-moz-transition: right .3s ease-in-out;
-webkit-transition: right .3s ease-in-out;
-o-transition: right .3s ease-in-out;
transition: right .3s ease-in-out;
}
.circle.is-active {
right: 0;
}
JS
var circle = $('.circle'),
windowHeight = $(window).height();
$(window).on('scroll', function() {
if( $('body').scrollTop() >= windowHeight ) {
circle.addClass('is-active');
} else {
circle.removeClass('is-active');
}
});
这是一个演示http://jsfiddle.net/uYFaq/1/
我使用了这个 jQuery 插件:
http://imakewebthings.com/jquery-waypoints/
一个类似于你的例子:
http://imakewebthings.com/jquery-waypoints/examples/scroll-analytics/
您可以使用jQuery滚动事件并检测scrolltop来触发div在滚动到某个点时隐藏或显示。
$(document).on('scroll', function() {
var s = $(document).scrollTop();
if(s > 300) {
$('#popup').show();
} else {
$('#popup').hide();
}
});
有关如何仅使用 jQuery 执行此操作的示例,请参阅此 jsFiddle 。然后你可以用你想要的任何动画替换show()
和。hide()