私は親戚を助けるためにウェブサイト上で働いていますが、ウェブ開発に新しい経験はほとんどありません。今は、スクロールダウンするときに操作したいdivをいくつか持っていて、スクロールしながら変更を元に戻します。私が直面している問題は、スクロールバーが一定のポイントを横切った後、divが(シュリンク/スライド/その他)を正しく変更することですが、上に戻ると何も起こりません。 "アニメ"は私に問題を与えている唯一のイベントですが、残りのイベントは完璧に機能します。ここに私のHTMLコードのコピーです:jQueryのDivsを縮小して復元する方法
<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8">
<title>Sarah's Portfolio</title>
<link rel="stylesheet" type="text/css" href="main.css">
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navigationbar.js"></script>
</head>
<body>
<div id="image">
<img src="Project Images\\Sarah.png" id="Sarah">
</div>
<div id="name">
<h1>Sarah James</h1>
<h2 id="objective">OBJECTIVE</h2>
</div>
<table id="navbar" cellspacing=0>
<tr>
<td><u><i><a href="index.html">Home</a></u><i></td>
<td><a href="resume.html">Resume</a></td>
<td><a href="portfolio.html">Portfolio</a></td>
<td><a href="contact.html">Contact Me</a></td>
</tr>
</table>
<div id="topbar"></div>
<div id="rotatingblock" align="middle">
<img width=90% height=50% class="mySlides" src="Project Images\\AsburyPoolComplex\\page-4-1.jpg">
<img width=90% height=50% class="mySlides" src="Project Images\\AsburyPoolComplex\\page-5-1.jpg">
<img width=90% height=50% class="mySlides" src="Project Images\\AsburyPoolComplex\\page-6-1.jpg">
<script src="rotationblock.js"></script>
</div>
</body>
</html>
そして、私のjQueryコード:
$(document).ready(function(){
$(window).scroll(function() {
var $scroll=$(window).scrollTop();
if ($scroll>60){
console.log ("bigger than 40 and is " + $scroll);
$("#name").animate({top:"2%",height:"13%",left:"35%"},500);
$("#image").animate({width:"8%",left:"5%",top:"3%"},500);
$("#navbar").animate({top:"-17%"},500);
$("#topbar").animate({height:"25%"},500);
$("#objective").html("<h2></h2>");
$("td").animate({height:"20%"},500);
$("a").css("font-size","150%");
}
else{
console.log ("smaller than 40 and is " + $scroll);
$("#name").animate({height:"21.5%",left:"40%"},500);
$("#image").animate({width:"15%",left:"0%",top:"2%"},500);
$("#navbar").animate({top:"1.3%"},500);
$("#topbar").animate({height:"43%"},500);
$("#objective").html("OBJECTIVE");
$("td").animate({height:"20%"},500);
$("a").css("font-size","175%");
}
})
})
ありがとうございました。しかし、私が誤解されていない場合、 "queue:false"はアニメーションが再び実行されるのを防ぎますか?問題は、アニメーションが変化してもそれが起こり続けることです。私がこれを意味するのは、スクロールダウンするときにdivが "if"ステートメント内のステートメントに従って操作される必要があるということです。上にスクロールするとき、divは "else"ステートメントの中のステートメントに従って操作される必要があります。そのため、上下に移動し続けることができ、アニメーションは引き続き発生します。もう一度、ありがとう。 – Sal
NP。これは、他のキューに入れられたアニメーションの後にアニメーションが待たされるのを防ぎます。 –
私はついにそれを動作させました。ご助力ありがとうございます。仕事を終えたのは、すべての ".animate"イベントに "queue:false"ステートメントを追加することでした。もう一度、ありがとう。 – Sal