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

JS

流れるように出現(左から右)

  • カテゴリー:テキストの動き


     

    HTMLの書き方

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

    <link rel="stylesheet" type="text/css" href="css/8-2.css">

    body内のテキストを表示させたい場所にHTMLを記載します。

    <p>
    	<span class="slide-in leftAnime">
    		<span class="slide-in_inner leftAnimeInner">左から右へテキストが流れます。左から右へテキストが流れます。</span>
    	</span>
    </p>

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

    <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
    <!--自作のJS-->
    <script src="js/8-2.js"></script>

     

    CSSの書き方

    /*========= 流れるテキスト ===============*/
    
    /*全共通*/
    .slide-in {
    	overflow: hidden;
    	display: inline-block;
    }
    
    .slide-in_inner {
    	display: inline-block;
    }
    
    /*左右のアニメーション*/
    .leftAnime{
    	opacity: 0;/*事前に透過0にして消しておく*/
    }
    
    .slideAnimeLeftRight {
    	animation-name:slideTextX100;
    	animation-duration:0.8s;
    	animation-fill-mode:forwards;
    	opacity: 0;
    }
    
    @keyframes slideTextX100 {
    	from {
    		transform: translateX(-100%); /*要素を左の枠外に移動*/
    		opacity: 0;
    	}
    
    	to {
    		transform: translateX(0);/*要素を元の位置に移動*/
    		opacity: 1;
    	}
    }
    
    .slideAnimeRightLeft {
    	animation-name:slideTextX-100;
    	animation-duration:0.8s;
    	animation-fill-mode:forwards;
    	opacity: 0;
    }
    
    
    @keyframes slideTextX-100 {
    	from {
    		transform: translateX(100%);/*要素を右の枠外に移動*/
    		opacity: 0;
    	}
    	to {
    		transform: translateX(0);/*要素を元の位置に移動*/
    		opacity: 1;
    	}
    }
    

     

    JSの書き方

    function slideAnime(){
    
    //====左に動くアニメーションここから===
    
    	$('.leftAnime').each(function(){ 
    		var elemPos = $(this).offset().top-50;
    		var scroll = $(window).scrollTop();
    		var windowHeight = $(window).height();
    		if (scroll >= elemPos - windowHeight){
    			//左から右へ表示するクラスを付与
    			//テキスト要素を挟む親要素(左側)とテキスト要素を元位置でアニメーションをおこなう
    			$(this).addClass("slideAnimeLeftRight"); //要素を左枠外にへ移動しCSSアニメーションで左から元の位置に移動
    			$(this).children(".leftAnimeInner").addClass("slideAnimeRightLeft");  //子要素は親要素のアニメーションに影響されないように逆の指定をし元の位置をキープするアニメーションをおこなう
    		} else {
    			//左から右へ表示するクラスを取り除く
    			$(this).removeClass("slideAnimeLeftRight");
    			$(this).children(".leftAnimeInner").removeClass("slideAnimeRightLeft");				
    		}
    	});		
    }
    	
    // 画面をスクロールをしたら動かしたい場合の記述
    $(window).scroll(function (){
    	slideAnime();/* アニメーション用の関数を呼ぶ*/
    });// ここまで画面をスクロールをしたら動かしたい場合の記述
    
    // 画面が読み込まれたらすぐに動かしたい場合の記述
    $(window).on('load', function(){
    	slideAnime();/* アニメーション用の関数を呼ぶ*/
    });// ここまで画面が読み込まれたらすぐに動かしたい場合の記述
    
    投稿日: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.