イセンチュートリアルサイト
  • CSS
    • スクロールダウン
    • テキストナビゲーション
    • ボタン
    • メニュー
    • 動画
    • 検索
    • 画像リンクの動き
    • 背景の動き
  • Illustrator
  • JS
    • アコーディオンパネル
    • アニメーション
    • エリアの動き
    • ギャラリー
    • グラフ
    • スライド
    • テキストの動き
    • ニュースティッカー
    • ページトップリンク
    • ページ内リンク
    • メニュー
    • モーダルウィンドウ
    • ローディング
  • Photoshop
  • PHP
  • WordPress
    • プラグイン
    • リンク
  • お客様観覧用
    • WEB制作プラン
    • アニメーション
    • グローバルナビゲーション
    • スライド
  • サーバー
    • CPI
  • 未分類
  • 法律
    • 医療法
    • 柔道整復師法
TOP JS エリアの動き スクロールすると画面分割した右側が動く

JS

スクロールすると画面分割した右側が動く

  • カテゴリー:エリアの動き


     

    HTMLの書き方

    head終了タグ直前に自作のCSSを読み込みます。

    <link rel="stylesheet" type="text/css" href="css/6-4.css">

    body内にHTMLを記載します。

    <div id="wrapper">
    	<div id="fixed-area"></div><!--左固定エリア-->
    	<div id="container"></div><!--右エリア-->
    <!--/wrapper--></div>

    body 終了タグ直前に jQuery、stickyfill.jsと、動きを制御する自作のJS の3 つを読み込みます。

    <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/stickyfill/2.1.0/stickyfill.min.js"></script>
    <!--自作のJS-->
    <script src="js/6-4.js"></script>

     

    CSSの書き方

    /*左と右を囲う全体のエリア*/
    #wrapper{
    	position: relative;/*position stickyの基点にするため relativeをかける*/
    	display: flex;/*左エリア、右エリア横並び指定*/
    	flex-wrap: wrap;/*ボックスの折り返し可*/
    }
    
    /*左エリア*/
    #fixed-area{
    	/*左固定記述*/
    	position: -webkit-sticky;/*Safari用*/
    	position: sticky;
    	top:0;
    
    	/*横半分50% 縦を100vhにする*/
    	width: 50%;
    	height: 100vh;
    }
    
    /*右エリア*/
    #container{
    	/*横半分50%にする*/
    	width:50%;
    }
    
    
    /*===========768px以下の見え方=============*/
    
    @media screen and (max-width:768px){
    	#wrapper{
    		display: block;/*display:flex;を解除*/
    	}
    	
    	#fixed-area{
    		position:relative!important;/*position stickyを解除*/
    		width:100%;/*横幅を100%にして1列に見せる*/
    		height: 40vh;/*縦幅を100vh⇒40vh ※任意の高さに設定可能*/
    	}
    	
    	#container{
    		width:100%;/*横幅を100%にして1列に見せる*/
    	}
    }
    

     

    JSの書き方
    768px以下では1カラムにするため、position: sticky;に対応していないブラウザ対応用のJavaScriptを、768pxより大きい場合に読み込み、他は取り除く。

    $(window).on('load resize', function() {
    	var windowWidth = window.innerWidth;
    	var elements = $('#fixed-area');
    	if (windowWidth >= 768) {
    		Stickyfill.add(elements);
    	}else{
    		Stickyfill.remove(elements);
    	} 
    });
    投稿日:2022年08月03日
次のページ
前のページ

アーカイブ

  • CSS (117)
    • スクロールダウン (8)
    • テキストナビゲーション (11)
    • ボタン (52)
    • メニュー (1)
    • 動画 (2)
    • 検索 (3)
    • 画像リンクの動き (23)
    • 背景の動き (17)
  • Illustrator (8)
  • JS (93)
    • アコーディオンパネル (2)
    • アニメーション (1)
    • エリアの動き (7)
    • ギャラリー (6)
    • グラフ (7)
    • スライド (9)
    • テキストの動き (17)
    • ニュースティッカー (1)
    • ページトップリンク (9)
    • ページ内リンク (2)
    • メニュー (28)
    • モーダルウィンドウ (1)
    • ローディング (3)
  • Photoshop (1)
  • PHP (20)
  • WordPress (4)
    • プラグイン (2)
    • リンク (1)
  • お客様観覧用 (11)
    • WEB制作プラン (1)
    • アニメーション (8)
    • グローバルナビゲーション (1)
    • スライド (1)
  • サーバー (6)
    • CPI (1)
  • 未分類 (6)
  • 法律 (2)
    • 医療法 (1)
    • 柔道整復師法 (1)
TOP
  • CSS
    • スクロールダウン
    • テキストナビゲーション
    • ボタン
    • メニュー
    • 動画
    • 検索
    • 画像リンクの動き
    • 背景の動き
  • Illustrator
  • JS
    • アコーディオンパネル
    • アニメーション
    • エリアの動き
    • ギャラリー
    • グラフ
    • スライド
    • テキストの動き
    • ニュースティッカー
    • ページトップリンク
    • ページ内リンク
    • メニュー
    • モーダルウィンドウ
    • ローディング
  • Photoshop
  • PHP
  • WordPress
    • プラグイン
    • リンク
  • お客様観覧用
    • WEB制作プラン
    • アニメーション
    • グローバルナビゲーション
    • スライド
  • サーバー
    • CPI
  • 未分類
  • 法律
    • 医療法
    • 柔道整復師法
© 2022 isen-print.