gpt4 book ai didi

javascript - 视差效果滞后且跳跃

转载 作者:行者123 更新时间:2023-11-28 17:21:58 24 4
gpt4 key购买 nike

好的。我正在尝试制作一个适用于所有浏览器的视差网站。我已经在所有浏览器上实现了效果,但在某些浏览器中它是滞后和跳跃的。有什么办法可以让它顺畅吗?

这是我的代码

function Draw(){
requestAnimationFrame(Draw);
scrollEvent();
}

Draw();

function scrollEvent(){
var height = $(window).height();

if($(document).scrollTop() <= height){
$('#home').css('transform', 'translate3d(0, ' + ($(document).scrollTop() + 'px, 0)'));
$('#about').css('transform', 'translate3d(0, ' + ($(document).scrollTop() - height + 'px, 0)'));
}else if($(document).scrollTop() <= 2*height){
$('#about').css('transform', 'translate3d(0, ' + ($(document).scrollTop() -height + 'px, 0)'));
$('#gallery').css('transform', 'translate3d(0, ' + ($(document).scrollTop() - 2*height + 'px, 0)'));
}else if($(document).scrollTop() <= 3*height){
$('#gallery').css('transform', 'translate3d(0, ' + ($(document).scrollTop() -2*height + 'px, 0)'));
$('#blog').css('transform', 'translate3d(0, ' + ($(document).scrollTop() - 3*height + 'px, 0)'));
}else if($(document).scrollTop() <= 4*height){
$('#blog').css('transform', 'translate3d(0, ' + ($(document).scrollTop() -3*height+ 'px, 0)'));
$('#contact').css('transform', 'translate3d(0, ' + ($(document).scrollTop() - 4*height + 'px, 0)'));
}
}
/*...............................fonts..................................*/
@font-face {
font-family: 'aka-acid-typogroteskregular';
src: url('../fonts/actypogrotesk-webfont.eot');
src: url('../fonts/actypogrotesk-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/actypogrotesk-webfont.woff2') format('woff2'),
url('../fonts/actypogrotesk-webfont.woff') format('woff'),
url('../fonts/actypogrotesk-webfont.ttf') format('truetype'),
url('../fonts/actypogrotesk-webfont.svg#aka-acid-typogroteskregular') format('svg');
font-weight: normal;
font-style: normal;
}

.font{
font-family: 'aka-acid-typogroteskregular';
}

/*...............................colors..................................*/
.black{
color:#000000;
}

.white{
color:#ffffff;
}

/*...............................text-centering..................................*/
.text-center{
text-align:center;
}

.text-right{
text-align:right;
}

/*...............................navigation..................................*/
nav{
padding-right:100px;
}

nav ul{
list-style:none;
}

nav ul li{
padding:30px 20px 20px 20px;
cursor:pointer;
}

nav ul li:hover{
color:#DCDCDC;
}

*{
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
backface-visibility: hidden;
padding:0;
margin:0;
letter-spacing:2px;
}

.inline{
display:inline-block;
*display:inline;
zoom:1;
}

html, body
{
width:100%;
height:100%;
}

.cont{
width:100%;
height:100%;
overflow:hidden;
position:relative;
webkit-overflow-scrolling:touch;
}


.rlt-container{
position:absolute;
width:100%;
height:100%;
display:block;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
background-repeat: no-repeat;
background-position:center top;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
backface-visibility: hidden;
}

.first{
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}

.others{
-webkit-transform: translate3d(0, 100, 0);
-moz-transform: translate3d(0, 100, 0);
-ms-transform: translate3d(0, 100, 0);
transform: translate3d(0, 100, 0);
}

.overlay123{
position:absolute;
width:100%;
height:100%;
z-index:999;
background-image: url('../media/backgrounds/dark_overlay.png');
}

.title-cont{
position: absolute;
left: 0;
right: 0;
margin-left: auto;
margin-right: auto;
top:50%;
margin-top:-49.5px;
}

.title{
font-size:82px;
font-weight: 200;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<?php include 'incl/base_url.php';?>
<link rel="stylesheet" type="text/css" href="css/global.css">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<!--[if lt IE 9]>
<script src="js/html5shiv.js"></script>
<![endif]-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/gsap/latest/TweenMax.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/gsap/latest/plugins/ScrollToPlugin.min.js"></script>
</head>
<body>
<!--Home-->
<div class="cont">
<div class="overlay123">
<header>
<?php include 'incl/nav.php';?>
</header>
<div class="title-cont text-center">
<h2 class="title font white">Liokoki</h2>
</div>
</div>
<div id="home" class="rlt-container first" style="background-image: url('media/backgrounds/MG_0069.jpg');">

</div>
</div>
<!--About-->
<div class="cont">
<div class="overlay123">
<div class="title-cont text-center">
<h2 class="title font white">About</h2>
</div>
</div>
<div id="about" class="rlt-container others" style="background-image: url('media/backgrounds/MG_0129.jpg');">

</div>
</div>
<!--Gallery-->
<div class="cont">
<div class="overlay123">
<div class="title-cont text-center">
<h2 class="title font white">Gallery</h2>
</div>
</div>
<div id="gallery" class="rlt-container others" style="background-image: url('media/backgrounds/MG_0107.jpg');">

</div>

</div>
<!--blog-->
<div class="cont">
<div class="overlay123">
<div class="title-cont text-center">
<h2 class="title font white">Blog</h2>
</div>
</div>
<div id="blog" class="rlt-container others" style="background-image: url('media/backgrounds/MG_0142.jpg');">

</div>
</div>
<!--Contact-->
<div class="cont">
<div class="overlay123">
<div class="title-cont text-center">
<h2 class="title font white">Contact</h2>
</div>
</div>
<div id="contact" class="rlt-container others" style="background-image: url('media/backgrounds/DJI_0011.jpg');">

</div>
</div>
<script src="js/effects.js"></script>
</body>
</html>

最佳答案

尝试 transition: transform 200ms ease; 到正在转换的元素。这应该为您在 js 中应用的转换添加一个转换。

关于javascript - 视差效果滞后且跳跃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41874370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com