对不起,英语不好。
这里是网站的链接。
我的任务是创建没有滚动的网站。当用户单击屏幕的右侧部分时,汽车开始向前移动。当它到达屏幕中间时,汽车停下来,固定的内容块开始朝相反的方向移动。如果用户将光标移到屏幕左侧(按住鼠标按钮的同时),则汽车应向后移动。
桌面版本按预期工作。但是移动版本很慢。(这并不是很慢,我猜它还不如台式机那么顺畅)
我该怎么解决这个问题?
在touchstart事件上,我获得event.pageX值来检查屏幕用户触摸过的部分。(这样我就知道汽车应该向哪个方向移动)并将此值存储在变量“ mousePos”中。然后我用运动函数调用setInterval
在touchend事件中,我清除了间隔以阻止汽车行驶。
在touchmove上,我将使用新的event.pageX值重写“ mousePos”变量。例如:用户单击,汽车开始移动,如果用户将光标向左移动,我将使用此变量来检查方向并向后转汽车。
在mouseMove功能中,我将检查汽车的位置并决定应采取的措施-移动汽车或移动背景,然后我将检查其是否到达终点
事件:
$(document).on('mousedown touchstart', '.mouse-click', function(event){
clicking = true;
mousePos = event.pageX;
if ( event.target.className == 'helper' ) {
showModal();
} else {
moveStuff = setInterval(mouseMove, 1);
}
});
$(document).on('mouseup touchend', function(){
clicking = false;
carLights.removeClass('blink');
clearInterval(moveStuff);
})
$(document).on('mousemove touchmove', '.mouse-click', function(event){
if(clicking == false) {
return;
} else {
mousePos = event.pageX;
}
});
功能:
function mouseMove() {
let offset = parseInt( mainContent.css('left') );
let offsetCar = parseInt( car.css('left') );
if ( mousePos > middleScreen ) {
carLights.removeClass('blink');
if ( offset < - ( contentWidth ) ) {
return;
} else {
rotateWheelsForward();
if ( offsetCar < middleScreen ) {
car.css('left', (offsetCar + mouseSpeed) + 'px');
} else {
mainContent.css('left', (offset - mouseSpeed) + 'px');
}
}
} else if ( mousePos < middleScreen ) {
carLights.addClass('blink');
if ( offset > 0 ) {
carLights.removeClass('blink');
return;
}
那么,如何在移动设备中使运动更流畅?(我使用iphone 5s野生动物园,但在iphone 6中进行了测试,但效果仍然很差)
我应对此代码进行哪些更改?
白板的微信
相关分类