使用Javascript在移动视图中滚动时固定在页面上的按钮
Button fixed to page when scrolling in mobile view with Javascript
希望在这里得到一些JS/CSS的帮助。我需要在我的页面上的结帐按钮去页面的顶部,成为固定的,如果用户不能再看到它在移动视图下滚动页面。我希望有人能帮忙!唯一让我困惑的是我不能使用jQuery
![function checkoutScroll() {
var button = document.querySelector('.cartSidebar__checkoutButton');
window.addEventListener('scroll', function () {
var distanceFromTop = document.body.scrollTop;
if (distanceFromTop === 0) {
button.style.position = 'static';
button.style.top = 'auto';
}
if (distanceFromTop > 0) {
button.style.position = 'fixed';
button.style.top = '0px';
}
});
}
你想要实现的可以通过CSS来完成,这将更有意义,因为它是一个视觉/UI任务。我将添加顶边距相当于你的按钮的css高度,并保留它作为固定的顶部。作为一个好处,您将能够利用媒体查询来限制CSS规则的移动视图。
@media screen and (max-width: 960px) {
.container{
margin: 3em;
}
.checkout_button{
display:block;
position:fixed;
top:0;
left:0;
width:100%;
}
}
一些非常简单的东西,比如https://jsfiddle.net/f19Lus43/
如果你想留在javascript一些模糊的原因(我不能说兼容性,因为文件。querySelector只在进化的浏览器上工作),这取决于你,但有一个例子,你的代码将帮助我们回应:)
所以我认为你想要的功能只运行在较小的屏幕/浏览器视图?这就是你所说的"移动视图"吗?我已经用了一段时间了。不确定它是否比格伦的解决方案更好,但它对我有效,没有任何错误。首先定义函数:
function updateViewportDimensions() {
var w=window,d=document,e=d.documentElement,g=d.getElementsByTagName('body')[0],x=w.innerWidth||e.clientWidth||g.clientWidth,y=w.innerHeight||e.clientHeight||g.clientHeight;
return { width:x,height:y };
}
// setting the viewport width
var viewport = updateViewportDimensions();
function detectMob() {
viewport = updateViewportDimensions();
if (viewport.width <= 768) {
return true;
} else {
return false;
}
}
然后每次你需要检查视口的大小是否小于768像素宽,你做:
if (detectMob){
//your code here
}
相关文章:
- jquery移动对齐按钮取决于内容大小
- 简单的垂直上一个和下一个按钮代码点击上下移动jQuery
- 在带有Partial视图的MVC 5中,将提交按钮移动到表单外部
- 如何使用 JavaScript 函数在 JSP 中使用按钮移动到数据库的最后一条记录
- Onclick 无法正常工作,并且将按钮移动到下一行不起作用
- 如何在使用angularjs选项卡时单击按钮移动到下一个选项卡
- 根据选中的单选按钮移动到不同的页面
- 使用后退按钮移动单页应用程序 AngularJS
- 将BxSlider按钮移动到位
- 可滑动的内联按钮移动
- 当我按住鼠标按钮移动鼠标时,Fabric.js–元素是未定义的
- 邮件黑猩猩的形式在引导-按钮移动
- 点击离子导航条上的按钮移动到新页面的所有3种方式都不起作用
- 如何将选中的单选按钮移动到左侧
- 在openart 2.0中,搜索按钮移动到顶部栏
- 如何将我的+按钮移动到网页右侧
- 检测用户是否点击了“后退”按钮——移动浏览器
- 如何在单击时将按钮移动(设置动画)到特定位置,并在单击其他位置时返回到原始位置
- Facebook“分享”按钮;移动web的html/javascript
- 根据我悬停在上面的按钮移动相同的图像