如THIS LIVE DEMO所示,如果您从任何普通浏览器(FF / Opera / Chrome)打开链接,当您滚动面板时,蓝色伪元素会对其位置产生延迟效果。
即使IE11确实对它有某种影响,但它似乎比其他浏览器慢几倍。
这是关于滚动效果的相关代码:
function checkScroll(){
if ($('.contentPanel').attr('data-active')==="hola"){
if ($('.contentPanel').scrollTop() >= ($('.section-adapta').position().top)-150) {
scrolledY1=$('.contentPanel').scrollTop() - $('.section-adapta').position().top+150;
$('.icon-adapta').css('margin-top', 10-((scrolledY1*0.1))+'px'); }
if ($('.contentPanel').scrollTop() >= ($('.section-interac').position().top)-150) {
scrolledY2=$('.contentPanel').scrollTop() - $('.section-interac').position().top+150;
$('.icon-interac').css('margin-top', -30+((scrolledY2*0.07))+'px'); }
if ($('.contentPanel').scrollTop() >= ($('.section-dinami').position().top)-150) {
scrolledY3=$('.contentPanel').scrollTop() - $('.section-dinami').position().top+150;
$('.icon-dinami').css('margin-top', 100-((scrolledY3*0.1))+'px'); }
if ($('.contentPanel').scrollTop() >= ($('.section-ux').position().top)-150) {
scrolledY4=$('.contentPanel').scrollTop() - $('.section-ux').position().top+150;
$('.icon-ux').css('margin-top', -80+((scrolledY4*0.08))+'px'); }
}}
答案 0 :(得分:1)
这是由于在未设置任何职位(position: fixed
,left
,top
或right
)的情况下使用bottom
时的不同默认行为造成的。在您的情况下,最简单的方法是使用position: absolute
代替。