javascript - 不同浏览器宽度|高度的滚动变量偏移量
问题描述
我在一个运行良好的 WordPress 网站中实现了一个“返回顶部”或“滚动到顶部”按钮:
jQuery(document).ready(function($) {
var offset = 500;
var speed = 10;
var duration = 250;
$(window).scroll(function() {
if ($(this).scrollTop() < offset) {
$('.topbutton').fadeOut(duration);
} else {
$('.topbutton').fadeIn(duration);
}
});
$('.topbutton').on('click', function() {
$('html, body').animate({
scrollTop: 0
}, speed);
return false;
});
});
我的困境是我找不到var offset
根据浏览器宽度|高度将其更改为灵活值的方法。因此,浏览器/设备屏幕越窄,500px
触发点越往下,导致“返回顶部”按钮出现得太晚。这是我的CSS:
.site-footer {
background-color: #0a0a0a;
}
.topbutton {
height: 100px;
width: 100px;
position: fixed;
right: 5px;
bottom: 5px;
z-index: 1;
background-image: url("https://sheknowsphotography.co.za/wp-content/uploads/2018/12/Arrow-up-blue-ezgif.com-resize.gif");
background-repeat: no-repeat;
display: none;
}
这是 footer.php 中的 gif 图像,就在</body>
标签之前:
<?php wp_footer(); ?>
<a href="#" class="topbutton"><img src="https://sheknowsphotography.co.za/wp-content/uploads/2018/12/Arrow-up-blue-ezgif.com-resize.gif"></a>
一切都在儿童主题中完成。
对任何回应的人:谢谢您的时间!
解决方案
有效的解决方案:
jQuery(document).ready(function($){
if ($(window).width() < 960) {
var offset = 500;
}
else {
var offset = 1000;
}
var speed = 10;
var duration = 250;
$(window).scroll(function(){
if ($(this).scrollTop() < offset) {
$('.topbutton') .fadeOut(duration);
} else {
$('.topbutton') .fadeIn(duration);
}
});
$('.topbutton').on('click', function(){
$('html, body').animate({scrollTop:0}, speed);
return false;
});
});
推荐阅读
- python - 生成 0 到 10 之间数字的 sha1 校验和的 Python 代码
- javascript - 如何将对象转换为按对象键分组
- c# - 保留级联 CheckedListBox 中项目的检查状态
- java - 是否可以从另一个项目中检测实体?
- python-3.x - 具有积分函数的python拟合曲线错误
- algorithm - 计算分区数量的算法?
- android - 加载资源失败:net::ERR_CLEARTEXT_NOT_PERMITTED
- java - 我可以通过 Spring MVC 中的请求参数重载动作吗?
- c - 有没有办法在 Fedora 31 disto 上安装 cs50 C 库?
- c# - 有没有办法将 MenuStrip 中的菜单项作为选项卡打开?