*

スクロールしても固定されるコンテンツの作成方法。(“jquery”box-fixed.jsを使用。)

公開日: : html5, jquery

今回は、スクロールしても一部分が固定されるという事をしてみました。
まずは、デモを見てください。

デモ
このように一部分がスクロールしても固定されます。

コンテンツが長い際に、どうしても空いたスペースができてしまう。

そうなると、なんだか寂しいサイトになってしまいます。

そんな時にこのようにスクロールしても一部が固定されるととても見やすく、空いたスペースを埋める事ができます。

設置方法もとても簡単です。

では、早速以下にソースを記載します。

今回使用する、スタイルシートは、
index.css
以上の1つです。

scriptは、
box-fixed.js
以上の1つを使用します。

以下がindex.htmlのファイルです。
index.htmlファイル

<!DOCTYPE html>
<html lang="ja">
    <head>
        <title>スクロールしても固定されるコンテンツ</title>
		<meta charset="UTF-8" />
<link rel="stylesheet" type="text/css" href="css/index.css">
</head>
<body>  
	<div id="wrapper">
		<div id="left_area">縦10000pxの設定にしました。</div>
		<div id="right_area"><div id="box">スクロールしても固定される。</div></div>
<div class="clear"></div>
		<div>スクロール終了です。お疲れ様でした。</div>
	</div>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="js/box-fixed.js"></script>
<script type="text/JavaScript">
$(function(){
    $("#box").boxfixed();
});
</script>
</body>
</html>

次に、スタイルシートです。
index.css

body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif;
	background-color: #fff;
	margin:0 auto;
	font-size: 16px;
	width: 100%;
}
.clear{
	clear:both;
}


#wrapper{
	width:1000px;
	margin:50px auto;
	position:relative;
}

#left_area{
	position:relative;
	width:700px;
	height: 10000px;
	background-color:#00ff00;
	float:left;
}

#right_area{
	width:300px;
	float:left;
}

#box{
	width:300px;
	height: 300px;
	background-color:#ffff00;
}

.fixed {
  position: fixed;
  top: 0px;
}

最後にjsファイルです。
box-fixed.js

(function($) {

$.fn.boxfixed = function(options){

  var settings = $.extend({
    fixtop: 0
  }, options);

  var obj = $(this),
  offset = obj.offset();

  $(window).scroll(function () {
    if($(window).scrollTop() > offset.top - settings.fixtop) {
      obj.addClass('fixed');
    } else {
      obj.removeClass('fixed');
    }
  });
}

})(jQuery);

以上で完成です。

固定する箇所(デフォルトではTOPから0px)の変更もできるみたいです。

今回参考にしたサイトがありますのでこちらも参考にしてみてください。
【jQuery】スクロールの途中から位置が固定されるコンテンツの設置方法 | Rapid Progress

今回デモで使用したファイルをUPしときましたので、
よかったら参考にしてみてください。
ダウンロード


関連記事

no image

-jQuery-自動で画像のフェードイン・フェードアウトをする方法

今回は、自動で画像を切り替える方法について調べてみました。 (フェイドイン・フェイドアウトのみ)

記事を読む

no image

htmlの書き方について。

ホームページを作成するのには、flashを除けばほとんどhtmlで書きます。 ホームページがた

記事を読む

no image

テキストがアコーディオンのように開く。

今回は、テキストをアコーディオンのように開く方法について調べてみました。 ページが読み込まれた

記事を読む

“html”このタグの中になんのタグを入れれるんだっけ?

今回は、このタグの中になんのタグを入れれるんだっけ? という記事を見つけたので、ご紹介したいと思い

記事を読む

no image

カスタマイズができるスライドショーを設置する方法。diapoを使用。

今回は、スライドショーを設置してみました。 ホームページにスライドショーを設置するのは、当たり

記事を読む

no image

ページトップへスクロールする方法。

今回は、スクロールしたら、top(一番上)にいく方法を調べてみました。 コンテンツが、縦長にな

記事を読む

no image

スクロールバーのカスタマイズ。jScrollPaneを使用してみました。

今回は、スクロールバーのカスタマイズに取り組んでみました。   サイトにスクロ

記事を読む

no image

-jQuery-スクロールしたらあとからついてくるコンテンツの作成方法

今回は、スクロールしてもあとからついてくるコンテンツを作成してみました。 スクロールしたら

記事を読む

no image

背景画像をjqueryを使用して、フルスクリーンで動かす方法。backgroundPositionを使用。

今回は、背景画像をjqueryを使って、動かすという事をしてみました。 背景画像はアメニーショ

記事を読む

-jQuery-送信ボタン1度しか押せないようにする方法

今回は、ボタンを一度クリックしたら、押せないようにする方法をしてみました。 問い合わせ

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑