Javascript制作边栏“;卷轴;与页面对齐,直到其底边碰到页脚
Javascript使边栏和页面一起“滚动”,直到其底边碰到页脚。关键是,我有一个侧边栏,它应该随着页面滚动,当页面的底部边缘碰到页脚的顶部边缘时停止-在这一点之后,默认情况下它应该表现为(再次是静态的),可以在这里看到:。这个问题和这个问题很相似,我不想问这个问题,但是我不知道怎么做,剧本应该放在我放的地方Javascript制作边栏“;卷轴;与页面对齐,直到其底边碰到页脚,javascript,jquery,sidebar,vertical-scrolling,Javascript,Jquery,Sidebar,Vertical Scrolling,Javascript使边栏和页面一起“滚动”,直到其底边碰到页脚。关键是,我有一个侧边栏,它应该随着页面滚动,当页面的底部边缘碰到页脚的顶部边缘时停止-在这一点之后,默认情况下它应该表现为(再次是静态的),可以在这里看到:。这个问题和这个问题很相似,我不想问这个问题,但是我不知道怎么做,剧本应该放在我放的地方 console.log('now the script should start'); 另外,问题是较小的屏幕,因此请将viewport设置为1366x768或更小,以查看问题。这是我的
console.log('now the script should start');
另外,问题是较小的屏幕,因此请将viewport设置为1366x768或更小,以查看问题。这是我的脚本的粘贴箱:,这是相同的脚本:
//"fixed" sidebar
function scrollingAside() {
var $aside = $('.aside'),
asideH = $aside.outerHeight(),
asideTop = $aside.offset().top,
docH = $(document).height(),
asideOfsB = docH - asideTop - asideH,
footerH = $('.footer').outerHeight(),
wScrollTop = $(window).scrollTop(),
wHeight = $(window).height(),
scrollBtm = docH - wScrollTop - wHeight;
function stopAsideScroll() {
if ( asideOfsB < footerH + 2 ) {
console.log('now the script should start');
} //end if
} //stopAsideScroll
//if screen is wide enough so that the sidebar is there
if( $(window).width() > 840 ) {
if( wScrollTop > 376 ) {
$aside.css({ 'transform' : 'translateY('+ (wScrollTop - 376) +'px)' });
//stop scrolling if it reaches footer
stopAsideScroll();
} else {
$aside.css({ 'transform' : 'translateY(0)' });
}
//if screen is smaller disable
} else {
$aside.css({ 'transform' : 'translateY(0)' });
}
} //scr aside
/“固定”侧栏
函数scrollingAside(){
变量$aside=$('.aside'),
asideH=$aside.outerHeight(),
asideTop=$aside.offset().top,
docH=$(document).height(),
asideOfsB=docH-asideTop-asideH,
footerH=$('.footer').outerHeight(),
wScrollTop=$(窗口).scrollTop(),
wHeight=$(窗口).height(),
scrollBtm=docH-wScrollTop-wHeight;
函数stopAsideScroll(){
如果(asideOfsB<页脚H+2){
log('现在脚本应该启动');
}//如果结束,则结束
}//停止滚动
//如果屏幕足够宽,那么侧边栏就在那里
如果($(窗口).width()>840){
如果(wScrollTop>376){
css({'transform':'translateY(+'wScrollTop-376)+'px');
//如果到达页脚,停止滚动
stopAsideScroll();
}否则{
$aside.css({'transform':'translateY(0)});
}
//如果屏幕较小,则禁用
}否则{
$aside.css({'transform':'translateY(0)});
}
}//把scr放在一边
提前感谢为我解决这个问题的人!!!:)