ULTIMATE 教育 Web サイトを一から構築しました — 5 日目
昨日、私たちは特定の記事である「周期的プロパティ」に取り組みました。今日は、実際のサイトのデザインとページに焦点を当ててみましょう。
有機化学のページを作成します。まず、インタラクティブな要素のプレースホルダーを含む、基本的な HTML 構造を設定します。
23 時間目: 有機化学ページの構築
まず、Chemistryフォルダー内にorganic.htmlを作成しました。これは基本的な構造です:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Neuron IQ - Organic Chemistry</title> <meta name="description" content="Explore the fascinating world of organic chemistry with interactive articles, quizzes, and 3D molecule visualizations."> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap" rel="stylesheet"> <!-- Favicon --> <link rel="icon" type="image/png" href="/favicon.png"> <!-- Stylesheets (Consider using a CSS preprocessor like Sass for better organization) --> <link rel="stylesheet" href="css/style-main.css"> <link rel="stylesheet" href="css/style.css"> <link rel="stylesheet" href="css/specific-chemistry.css"> </head> <body> <header> <nav> <div> <p>I've added basic structure, links to the main stylesheets, and CDN link to a 3D molecule viewer library molGL. I've also added a basic header and footer, consistent with our previous pages, and a button for hamburger menu.</p> <p>Now, I'll add the main content area, divided into sections for articles, key topics, and an interactive molecule viewer.<br> </p> <pre class="brush:php;toolbar:false"><section> <p>This code adds a three-column layout. The left column will house the article list with a search bar. The middle column will have a hero section with a call-to-action button and a grid of topic cards with images. Finally, the right column will feature the interactive 3D molecule viewer.</p> <p>I've also added placeholders for images within the topic cards (images/hydrocarbons.jpg, etc.). We'll need to replace these with actual images later.</p> <h2> Hour 24: Adding JavaScript for Interactivity </h2> <p>Now, let's add some basic JavaScript to handle the hamburger menu, the article search functionality, and the 3D molecule viewer. I'll add the following inside the <script> tag at the end of the body:<br> <pre class="brush:php;toolbar:false"> // Hamburger Menu Toggle const hamburgerBtn = document.getElementById('hamburger-btn'); const navMenu = document.getElementById('nav-menu'); hamburgerBtn.addEventListener('click', () => { navMenu.classList.toggle('show'); }); // Article Search Functionality (Basic Example) const articleSearch = document.getElementById('article-search'); const articleLinks = document.getElementById('article-links').querySelectorAll('a'); articleSearch.addEventListener('input', () => { const searchTerm = articleSearch.value.toLowerCase(); articleLinks.forEach(link => { const linkText = link.textContent.toLowerCase(); if (linkText.includes(searchTerm)) { link.style.display = 'block'; } else { link.style.display = 'none'; } }); }); // 3D Molecule Viewer (MolGL Example) const molContainer = document.getElementById('mol-container'); const moleculeSelect = document.getElementById('molecule-select'); // Initialize MolGL viewer let viewer = new MolGL({ container: molContainer, style: { stick: {}, sphere: { scale: 0.3 } } }); // Load a default molecule viewer.load('pdb:1crn'); // Example: Load a PDB structure // Change molecule on selection moleculeSelect.addEventListener('change', () => { const selectedMolecule = moleculeSelect.value; // We'll need to map molecule names to appropriate data sources (e.g., PDB IDs, SDF files) if (selectedMolecule === 'methane') { viewer.load('sdf:./molecules/methane.sdf'); // Example: Load from an SDF file } else if (selectedMolecule === 'ethanol') { viewer.load('pdb:1etn'); } else if (selectedMolecule === 'benzene') { viewer.load('sdf:./molecules/benzene.sdf'); } });
この JavaScript の機能は次のとおりです:
- ハンバーガー メニューの切り替え: ハンバーガー ボタンにイベント リスナーを追加して、ナビゲーション メニューの表示クラスを切り替え、小さな画面で表示または非表示にします。
- 記事検索: 検索バーへのユーザーの入力に基づいて記事リンクをフィルタリングする単純な検索機能を実装します。
-
3D 分子ビューア:
- mol-container 要素内の MolGL ビューア インスタンスを初期化します。
- 外部リンクからデフォルトの分子 (クランビンタンパク質、1crn) を PDB 形式でロードします。
- ユーザーが選択したときに異なる分子をロードするために、分子選択ドロップダウンにイベント リスナーを追加します。
- プレースホルダー分子データ ソース (./molecules/methane.sdf など) を使用します。実際の分子データを正しい形式 (SDF、PDB など) で提供し、それに応じて分子名をマッピングする必要があります。
ご覧になりたい場合は、ライブページがここにあります:
有機化学 - NeuronIQ
25 時間目: 無機化学ページの作成
有機化学のページと構造が似た、無機化学の新しいページを作成しましょう。
まず、Chemistry フォルダー内に次の基本構造を持つ inorganic.html を作成しました。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Neuron IQ - Inorganic Chemistry</title> <link rel="stylesheet" href="style.css"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap" rel="stylesheet"> <link rel="stylesheet" href="style-main.css"> <link rel="stylesheet" href="specific-chemistry.css"> </head> <body> <header> <nav> <div> <p>This code sets up the HTML for the page with:</p> <ul> <li> A basic header with navigation links.</li> <li> An aside element for the article list.</li> <li> A main content area with a heading, introductory text, and a grid for key topics.</li> <li> Placeholder links for articles and topics.</li> <li> A footer.</li> </ul> <p>We are using style.css, style-main.css and specific-chemistry.css for the styling.</p> <p>Next, I added some content to the page:<br> </p> <pre class="brush:php;toolbar:false"><section> <p>I also added a search bar and some links, that we will add later.</p> <h2> Hour 26: Adding JavaScript for Search Functionality </h2> <p>Since we used a similar structure to the organic chemistry page, I copied over the JavaScript code for the hamburger menu and the article search functionality from organic.html to this inorganic chemistry page, removing the 3D molecule viewer part.<br> </p> <pre class="brush:php;toolbar:false">// Hamburger Menu Toggle const hamburgerBtn = document.getElementById('hamburger-btn'); const navMenu = document.getElementById('nav-menu'); hamburgerBtn.addEventListener('click', () => { navMenu.classList.toggle('show'); }); // Article Search Functionality (Basic Example) const articleSearch = document.getElementById('article-search'); const articleLinks = document.getElementById('article-links').querySelectorAll('a'); articleSearch.addEventListener('input', () => { const searchTerm = articleSearch.value.toLowerCase(); articleLinks.forEach(link => { const linkText = link.textContent.toLowerCase(); if (linkText.includes(searchTerm)) { link.style.display = 'block'; } else { link.style.display = 'none'; } }); });
このページで使用されている ID と一致するようにセレクターを調整する必要がありました。このスクリプトは、基本的なハンバーガー メニューの切り替えと記事検索のフィルタリングを処理するようになりました。
これで、有機化学のページと同様の構造を持つ、基本的な inorganic.html ページができました。次の方法でさらに強化できます:
-
コンテンツの追加:
- リストされているトピックについて実際の記事を書きます。
- 画像または図をトピック グリッドに追加します。
-
スタイリング:
- CSS を使用して視覚的なプレゼンテーションを改善します。
- さまざまな画面サイズに対する応答性を確保します。
-
さらなるインタラクティブ性:
- 必要に応じて、クイズやインタラクティブな図を追加します。
-
ナビゲーション:
- 現在のナビゲーション システムは非常に基本的なものであるため、サイトがより複雑になる場合は、より堅牢なナビゲーション システムを実装します
今日の主な焦点は構造と基本機能の設定であったため、次のステップでこれらの機能強化を検討できます。関連性の高いコンテンツを追加し、ページの応答性を高めることで、この問題を改善することもできます。
以上がULTIMATE 教育 Web サイトを一から構築しました — 5 日目の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

同じIDを持つ配列要素をJavaScriptの1つのオブジェクトにマージする方法は?データを処理するとき、私たちはしばしば同じIDを持つ必要性に遭遇します...

JavaScriptを学ぶことは難しくありませんが、挑戦的です。 1)変数、データ型、関数などの基本概念を理解します。2)非同期プログラミングをマスターし、イベントループを通じて実装します。 3)DOM操作を使用し、非同期リクエストを処理することを約束します。 4)一般的な間違いを避け、デバッグテクニックを使用します。 5)パフォーマンスを最適化し、ベストプラクティスに従ってください。

この記事の視差スクロールと要素のアニメーション効果の実現に関する議論では、Shiseidoの公式ウェブサイト(https://www.shisido.co.co.jp/sb/wonderland/)と同様の達成方法について説明します。

Console.log出力の違いの根本原因に関する詳細な議論。この記事では、Console.log関数の出力結果の違いをコードの一部で分析し、その背後にある理由を説明します。 �...

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。
