共有サイドバーを実装するためのネイティブJS

共有サイドバーを実装するためのネイティブJS

この記事では、ネイティブ JS で実装された共有サイドバーを紹介します。効果は次のとおりです。

以下は、コピーして貼り付ける際の便宜を図るためのコード実装です。

<!DOCTYPE html>
<html>
 
<head lang="ja">
    <メタ文字セット="UTF-8">
    <title>共有して効果を得る</title>
    <スタイル>
        #共有 {
            位置: 固定;
            幅: 100ピクセル;
            高さ: 200px;
            背景色: 水色;
            左: -100px;
            上: 100px;
        }
 
        #共有スパン{
            幅: 20px;
            高さ: 60px;
            行の高さ: 20px;
            テキスト配置: 中央;
            左: 100px;
            上: 70px;
            位置: 絶対;
            背景色: 黄色;
        }
    </スタイル>
 
</head>
 
<本文>
 
    <div id="共有">
        <span>共有する</span>
    </div>
 
    <スクリプト>
        // 要素を取得します var share = document.getElementById("share");
        // 共有するイベントを設定する
        share.onmouseover = 関数(){
            アニメーション化(これを「左」、0);
        };
        share.onmouseout = 関数(){
            アニメーション化(これを「左」に-100)。
        };
 
        // モーションをアニメーション化する関数 function animate(tag, attr, target) {
            間隔をクリアします(tag.timer);
            tag.timer = setInterval(関数() {
 
                // 属性の現在の状態を取得します // 単位があるため、丸める必要があります // parseInt("hehe") => NaN NaN || 0
                // NaN への自動変換の問題に対処するために、短絡操作を使用してプログラムの堅牢性を確保します。var leader = parseInt(getStyle(tag, attr)) || 0;
 
                // イージング式の一部はステップの値を変更することです。var step = (target - leader) / 10;
 
                // offsetLeft は値を取得するときに丸められるため、step が比較的小さい場合は動きに問題が発生します。// ステップの正負の数に応じて丸め方法を変更します。step = step > 0 ? Math.ceil(step) : Math.floor(step);
 
                // イージング式 Leader = Leader + Step;
 
                // 特定の属性に設定します tag.style[attr] = leader + "px";
 
                // 指定された位置に到達したかどうかを確認します if (leader == target) {
                    間隔をクリアします(tag.timer);
                }
            }, 17);
        }
 
        // ユニット関数 getStyle(tag, attr) でタグのスタイル属性値を取得するために使用します。
            // サポートされているものを確認します // box.currentStyle、存在しない場合は値は未定義です
            // ブラウザがサポートしていない場合は getComputedStyle を使用します。これは変数が宣言されていないことと同等であり、エラーを報告します。if (tag.currentStyle) {
                // つまり、サポートされます return tag.currentStyle[attr];
            } それ以外 {
                // 標準メソッド return getComputedStyle(tag, null)[attr];
            }
        }
 
    </スクリプト>
</本文>
 
</html>

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • JavaScriptでシームレススクロールを実装し、サイドバーのサンプルコードに共有する
  • JS モーション フレームワーク共有サイドバー アニメーションの例
  • スクロールバーに合わせてスライドするブログサイドバーモジュールの固定効果を実装する方法(js+jqueryなど)
  • 動的なサイドバーコードを実装するためのJavaScript
  • シンプルな非表示サイドバー機能を実現する JavaScript の例
  • 動的サイドバーの例の JavaScript 実装の詳細な説明
  • js を使用してレスポンシブ サイドバーを作成する
  • JS はサイドバーのマウスオーバーポップアップボックス + バッファ効果を実装します
  • slideout.js をベースにモバイル サイドバーのスライド効果を実装する
  • フルスクリーンサイドバーを実現するためのjs+css

<<:  MySQLがデータの削除を推奨しない理由

>>:  HTML テーブル タグ チュートリアル (31): セルの幅と高さの属性 WIDTH、HEIGHT

推薦する

JVM 上の高性能データ形式ライブラリ パッケージである Apache Arrow の紹介とアーキテクチャ (Gkatziouras)

Apache Arrow は、BigQuery を含むさまざまなビッグデータ ツールで使用される一...

Windows10システムにMySQL 5.7.17をインストールする

オペレーティング システム win10 MySQL は、公式 Web サイトからダウンロードした 6...

Vue の element-ui コンポーネントのデフォルトの CSS スタイルを変更する 4 つの方法

目次序文1. グローバル統合オーバーライドを使用する2. .vueファイルを変更する3. コンポーネ...

Vue で Google サードパーティ ログインを実装するためのサンプル コード

目次1. 開発者プラットフォームの構成問題を解決する1. 開発者プラットフォームの構成1. 開発者プ...

HTTP および HTTP コラボレーション Web サーバー アクセス フロー図

Web サーバーは、独立したドメイン名を持つ複数の Web サイトを構築できるほか、通信経路上のトラ...

ubuntu16.04 で nginx を完全にアンインストールするための関連コマンド

nginx の概要nginx は、無料のオープンソースの高性能 HTTP サーバーおよびリバース プ...

Docker execは複数のコマンドを実行します

docker exec コマンドは、実行中のコンテナ内でコマンドを実行できます。 docker ex...

JavaScriptのプロトタイプオブジェクトを徹底的に理解しましょう

目次1. プロトタイプとは何ですか? 1.1 関数プロトタイプオブジェクト1.2 コンストラクタを使...

CSS--overflow:hidden のプロジェクト例

以下は、私のプロジェクトでこのプロパティを使用する方法の例です。 (1)激しく透明な浮遊コードをコピ...

MySQL 4.1/5.0/5.1/5.5/5.6の主な違い

バージョン間でのコマンドの違い: innodb ステータスを表示\G mysql-5.1 エンジン ...

vue 要素 el-transfer にドラッグ機能を追加

コア資産管理プロジェクトでは、el-transfer にドラッグ アンド ドロップによる並べ替えと、...

HTML の相対パスと絶対パスの違いの分析

HTML 初心者は、ファイルを正しく参照する方法という問題によく遭遇します。たとえば、HTML ペー...

Vueはスライダードラッグ検証機能の全プロセスを実現します

レンダリング 骨組みを定義し、HTMLとCSSを記述するHTML部分 <テンプレート> ...

CSS 動的高さ遷移アニメーション効果の実装

この質問は、Nuggets のメッセージから生まれました。友人が、次のコードの高さ遷移アニメーション...

Linux に ASPNET.Core3.0 ランタイムをインストールするためのサンプル コード

# 以下の例は x64 ビット ランタイム v3.0.0 用です mkdir /runtimes ...