シンプルなメッセージボードケースを実現するJavaScript

シンプルなメッセージボードケースを実現するJavaScript

参考までに、Javascriptを使用してメッセージボードの例(メッセージ削除あり)を実装します。具体的な内容は次のとおりです。

まだフロントエンドの勉強中です。コードに不備や間違った考えがあったらご容赦ください。アドバイスをよろしくお願いします。

一部のウェブサイトのディスカッションエリアでは、通常、メッセージボード機能を見ることができます。ユーザーがコメントすると、空のコメントは投稿できません。最新のコメントが表示され、古いコメントは押し下げられます。その後、ブロガーはコメントを削除できます。

コードは次のとおりです。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
 <メタ文字セット="UTF-8">
 <title>タイトル</title>
 <スタイル>
 * {
 マージン: 0;
 パディング: 0;
 }

 体 {
 パディング: 100px;
 }

 テキストエリア {
 幅: 200ピクセル;
 高さ: 100px;
 境界線: 1px ピンク
 アウトライン: なし;
 サイズ変更: なし;
 }

 ul {
 上マージン: 50px;
 }

 li {
 リストスタイル: なし;
 幅: 300ピクセル;
 パディング: 5px;
 背景色: rgb(245, 209, 243);
 色: 赤;
 フォントサイズ: 14px;
 マージン: 15px 0;
 }

 li a {
 フロート: 右;
 テキスト装飾: なし;
 }
 </スタイル>
</head>
<本文>
<テキストエリア名="" id=""></テキストエリア>
<button>公開</button>
<ul>

</ul>
<スクリプト>
 var btn = document.querySelector('ボタン')
 var テキストエリア = document.querySelector('テキストエリア')
 var ul = document.querySelector('ul')
 btn.onclick = 関数(){
 テキストエリアの値 == '' の場合 {
 アラート('Ning には入力がありません')
 偽を返す
 }それ以外{
 var li = document.createElement('li')
 li.innerHTML=textarea.value+"<a href='javascript:;'>削除</a>"
 ul.insertBefore(li,ul.children[0])
 var as=document.querySelectorAll('a')
 (var i=0;i<as.length;i++){
 as[i].onclick=関数() {
  ul.removeChild(この親ノード)
 }
 }
 }
 }
</スクリプト>
</本文>
</html>

エフェクト表示

コメントが空の場合:

新しいコメントは古いコメントを押し下げます:

削除する場合:

コードの説明

ここでは、ボタンクリックイベントがトリガーされると、テキストフィールドの内容が取得され、関数がトリガーされ、最初にテキストフィールドの値が空であるかどうかの判断が行われます。そうである場合、警告ボックスがポップアップし、テキストの内容は下に表示されません。

テキストボックスにコンテンツがある場合は、要素 li を作成し、li を使用して ' を受け取ります。次に、li のテキストコンテンツを、テキスト領域の 1 の内容 + a タグ (削除機能) に設定します。

次に、新しく追加した li を前面に表示するように設定します (insertbefore)。次に、a タグがクリックされたときに行が削除されるように、ループ内で a タグをバインドする必要があります。

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

以下もご興味があるかもしれません:
  • JSがメッセージボード機能を実現
  • jsp メッセージ ボード ソース コード 3: jsp 初心者向け。
  • DOM 操作を使用して js でシンプルなメッセージ ボードを実装する方法
  • JS+CSSは、更新せずにコンテンツを表示できるメッセージボードインスタンスをシミュレートします。
  • JSでメッセージボード機能を実現【床効果表示】
  • js で実装された折りたたみ式メッセージボード (ソースコードのダウンロードあり)
  • jsp メッセージ ボード ソース コード 2: jsp 初心者向け。
  • 私のAjaxメッセージボードソースコード優れたアプリケーションjs
  • ReactJS と Python の Flask フレームワークを使用してメッセージ ボードを作成するコード例
  • jsp メッセージ ボード ソース コード 1: jsp 初心者向け。

<<:  Mysql GTID Mha 設定方法

>>:  Jenkins の紹介と Docker で Jenkins をデプロイする方法

推薦する

より人気がありクリエイティブなダーク背景のウェブデザインの例

暗い背景スタイルのページ デザインは非常に人気があり、シックでエレガント、そして非常にクリエイティブ...

dockerを使用してGrafana+Prometheus構成をデプロイする

docker-compose-monitor.yml バージョン: '2' ネットワ...

Docker マイクロサービス用の ETCD クラスターの構築に関する詳細なチュートリアル

目次etcdの機能etcdが独自の高可用性クラスタを構築するには、主に3つの形式があります。今回構築...

HTML a タグの href 属性を使用して相対パスと絶対パスを指定する方法

実際のWeb開発では、画像の挿入やCSSファイルなどすべてパスが必要となります。ファイルパスを誤って...

MySQLトリガーの使用と注意すべき点

目次トリガーについてトリガーの使用トリガーを作成するトリガーを表示トリガーの削除使用上の注意新旧の違...

テキストエリアタグはサイズ変更できず、マウスでドラッグすることもできません

テキストエリアタグのサイズは不変ですコードをコピーコードは次のとおりです。 <textarea...

画像とテキストでHTTPヘッダーのあらゆる側面を理解する

HTTPヘッダーとはHTTP は「Hypertext Transfer Protocol」の略です。...

Vue3 の組み合わせ API における setup、ref、reactive の完全な使用方法

1. セットアップを始める次のコード関数を簡単に紹介します。 ref 関数を使用して変数の変更を監視...

type="file" の入力ボックスのスタイル変更の概要

入力タイプ「file」とは何ですか?これが何なのかは説明する必要はないと思います。誰もが知っているこ...

mysql5.7でbinlogを使用してデータを復元する方法

ステップ1: MySQLでbinlogが有効になっていることを確認する '%log_bin%...

CSSはcalc()を使用して現在の表示画面の高さを取得します

まず、CSS3 の相対的な長さの単位を見てみましょう (詳細なチュートリアルを参照してください)。相...

Vueルータールーティングガードの詳細な説明

目次1. グローバル beforeEach 1. グローバル beforeEach 2. 実装2. ...

MySQL チュートリアル データ定義言語 DDL の例 詳細な説明

目次1. SQL言語の基本機能の紹介2. データ定義言語の目的3. データベースの作成と破棄4. デ...

MySQL マスタースレーブ構成の学習ノート

● 新しいプロジェクトのセキュリティを確保するためにクラウド データを購入する予定でした。 Alib...

ウェブページの表の分割線を削除する方法

<br />Web テーブルの分割線を削除する方法。実際、上記の 3 つの表はいずれも ...