使用JQuery使滚动条为@bottom时DIV的宽度为100%
make DIV 100% width when scrollbar is @ bottom with JQuery
当滚动条在底部时,我试图使宽度div增长到100%,并且当滚动条位于页面顶部时收缩到0%。
我试着把它做成这样:
$(document).ready(function () {
var myWidth = $(window).width();
var res = myWidth / 100;
var myHeight = $(document).height();
var myScreen = $(window).height();
$(window).scroll(function () {
var scrolling = $(window).scrollTop();
var myPrecentage = (scrolling + myScreen) / (myHeight );
console.log(myPrecentage);
$('#com1').css("width", ((myPrecentage) * 100) + "%");
});
});
我遇到了一个问题,当我尝试使用scrollTop时,它不会计算屏幕高度,所以我总是在scrollTop为0时开始,大约是宽度的20%。
你对如何解决这个问题有更好的想法吗?
我可能还没有完全理解你想做什么,但听起来你想根据你在滚动中的位置计算0到100%之间的%。(也许您想将垂直动作转换为水平图形表示。)
您的代码可以工作,只需要进行小的调整。现在你正在计算%基于:
var myPrecentage = (scrolling + myScreen) / (myHeight );
你想要的是:
var myPrecentage = scrolling / (myHeight - myScreen);
与相同
$(window).scrollTop() / ($(document).height() - $(window).height());
(我应该补充一点,我使用的是Chrome,不同浏览器的行为可能不同。)
我认为您当前的问题是,您总是从视图窗口的大小开始。因此,除非视图为0,否则您将始终以<零。您只想在滚动视图超过myScreen大小时添加滚动和myScreen。
http://jsfiddle.net/ufomammut66/C2aFH/
var myPrecentage;
if((scrolling - myScreen) < myScreen){
myPrecentage = (scrolling) / (myHeight );
} else {
myPrecentage = (scrolling + myScreen) / (myHeight );
}
相关文章:
- 添加文字和评论功能更新Div
- 点击后隐藏潜水?(但如果Div是一面旗帜呢?)
- 使用JavaScript动态插入DIV的成本有多高
- DIV并排,位置不正确
- Div根据<选择>菜单
- Href:当前DIV中的目标ID
- Onchange没有'不要显示或隐藏Div
- 绝对定位不适用于Javascript DIV
- 在Rails中更新Div,而不更改更新请求后的视图
- how to convert html <div> to pdf
- 如何在不影响其他元素的情况下扩展DIV
- 使用jQuery在页面上浮动DIV
- 如何通过点击机身上的任何位置来关闭弹出的DIV
- 单击按钮时Div Increment
- 使用JQuery使滚动条为@bottom时DIV的宽度为100%
- 如何连续将 Div 大小调整为 100% VH
- 跨度DIV网页的100%宽度
- 链接无法在Ipad上的Div上工作-任何其他设备/浏览器都可以100%工作
- 使用Javascript将DIV高度设置为100%导致跨浏览器问题
- Div高度:2个Div之间为100%