问题描述
我目前正在使用 ScrollMagic 和 GSAP 开发一个水平滚动网站。它在具有鼠标滚轮功能的桌面上运行良好。但是,当涉及鼠标滚轮不适用的平板电脑时,锚导航不起作用并且使用 Chrome 和 ipad 时的结果各不相同(锚链接在 ipad chrome 上不起作用,但在 ipad safari 上运行良好)。我给平板添加了拖拽功能,但是它交错,动画也不是很流畅。
鼠标滚轮
document.addEventListener('wheel',function(e){
if(e.type != 'wheel'){
return;
}
let delta = ((e.deltaY || -e.wheelDelta || e.detail) >> 1) || 1;
document.documentElement.scrollLeft += delta;
document.body.scrollLeft += delta;
});
拖拽
const slider = document.querySelector('html');
let isDown = false;
let startX;
let scrollLeft;
slider.addEventListener('mousedown',(e) => {
isDown = true;
slider.classList.add('active');
startX = e.pageX - slider.offsetLeft;
scrollLeft = slider.scrollLeft;
});
slider.addEventListener('mouseleave',() => {
isDown = false;
slider.classList.remove('active');
});
slider.addEventListener('mouseup',() => {
isDown = false;
slider.classList.remove('active');
});
slider.addEventListener('mousemove',(e) => {
if(!isDown) return;
e.preventDefault();
const x = e.pageX - slider.offsetLeft;
const walk = (x - startX) * 3;
slider.scrollLeft = scrollLeft - walk;
//console.log(walk);
});
代码笔示例:https://codepen.io/shirasaki/pen/JjEyjgb
不幸的是,随着最近的 ipad 更新,似乎无法检测到用户使用的是 ipad 还是 ipad pro。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)