上へ戻る

(コードあり)jQuery使ってスクロールすると画像が動くアレをやってみた。

Pocket

縦長のサイトで、スクロールしていくと画像が動くアレありますよね。あれ。

アレを実装しているサイト
プロスペックス | セイコーウオッチ
インド手刺繍の店 タンカ
お酒卸しの株式会社知多善

jQueryで出来るのは知ってて、いつも挑戦できていなかったアレ。今回試しにやってみました。

スクロール量を知って、ifでわけてみよう。


20150510_1
早速ですがサンプルです。
参考リンク:スクロールすると画像が動く。

やり方は違うかもしれませんが、今回の場合スクロール量を測り、その数値が一定数を超えたら画像にしていたクラスに対してanimateするようにしました。

HTML






CSS






JavaScript




最初の開始コードではfunctionだけではなく、$(window).scrollで始めています。これを指定していないと、スクロールされた時の開始スイッチがなくなるのでコードを書いても無意味になってしまいます。

スクロール量を取得するには$(document).scrollTop();の動作を変数で受けること。

この場合はScrTopを変数宣言して、スクロール量を入れます。

そしてスクロール量が一定数以上いくと【$(“.sampleimg”).animate({marginLeft: “480”});】で移動させます。
CSSの場合、marginをかけるときはmargin-leftという書き方ですが、animateの場合marginLeftの書き方になります。

ちなみにスクロールした下がった後に、もう一度上がった場合に配置を戻すように【$(“.sampleimg2”).animate({marginRight: “0”});】も指定しています。
ただこの書き方がなんかもっと改善できそう。


今回はまず画像を動かすだけをしましたが、animateやfadeを使えば、もっと手の込んだこともできそうです。
スクロールしたらウェブサイトが色々動けるようになりたいなーという方はぜひ試してみてください。思っている以上に簡単なので。

最新投稿された記事はいかがですか?

1987年2月生まれ、滋賀県湖南市育ち、現在湖南市の三雲駅から徒歩20分超の場所でコワーキングスペース「今プラス」の管理人をしております。
続きを読む