*

スクロールしても固定されるコンテンツの作成方法。(“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

マウスオーバーした時に画像を半透明にする。”opacity”を使用する。

今回は、マウスオーバーをした際に半透明にするという事を調べてみました。 マウスオーバーをし

記事を読む

no image

animationでboxを動かしてみた。

今回は、animationを使って、boxを動かしてみました。 マウスを乗せたときに指定したb

記事を読む

no image

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

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

記事を読む

no image

簡単popupの設置方法。Pop Easyを設置してみました。

今回は、ポップアップ(popup)の設置に取り組んでみました。   ポップアッ

記事を読む

no image

メニューをプルダウンする方法。globalNaviを使用。

今回は、メニューをプルダウンさせる方法について調べてみました。 メニューをたくさんあると、

記事を読む

no image

htmlの書き方について。

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

記事を読む

-jQuery-メールアドレス入力確認付メールフォーム

今回は、jQueryを使ってメールフォーム(メールアドレス入力確認付)を作成してみました。

記事を読む

no image

jqueryを使って画像を回転させる。jQueryRotateを使用

今回は、画像を回転させるという事をやってみました。 調べてみたところ、jqueryを使って簡単

記事を読む

no image

テキストの縦位置を設定する。line-height:を使用する。

今回は、テキストの間隔について書きたいと思います。 テキストを書くときテキストの縦位置が気にな

記事を読む

Message

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

PAGE TOP ↑