JS によるナビゲーション バーのホバー効果の実装 (続き)_JavaScript スキル
前回 [JS 実装ナビゲーション バー ホバー] では、ナビゲーション バーをホバーしているページを IE で実行すると、ナビゲーション バーが揺れ続けると述べました。
解決策は次のとおりです。
ナビゲーションバーの位置決め方法を絶対から固定に変更しました。なぜ固定に変更されたのかはわかりません。揺れが止まりました。 。 -_-||
div.navigation{
幅: 800ピクセル;
背景: 赤;
上: 400ピクセル;
位置: 固定;
}
このため、JS もそれに応じて変更する必要があります。
//IE7 は getElementsByClassName を認識しません。
関数 my_getElementsByClassName(class_name) {
var el = [] ;
//すべての要素を取得
_el = document.getElementsByTagName('*')
//className で選択
for (var i=0; i<_el .length; i ) {
if (_el[i].className == class_name ) {
el[el.length] = _el[i];
return el ;
}
//ナビゲーション バー、上部にカーソルを移動します
function naviga_stay_top(){
var a_navigation_bar = []
if(document.getElementsByClassName){//Chrome , FF
a_navigation_bar = document.getElementsByClassName("navigation");
} else {//IE
a_navigation_bar = my_getElementsByClassName("navigation")
varscrollTop = document.body .scrollTop || document .documentElement.scrollTop;
document.title =scrollTop;
//スクロール距離が元のナビゲーション バーと上部の間の距離より大きい場合
//ナビゲーション バーをビジュアル領域に修正します。 Top
if(scrollTop > naviga_offsetTop ){
a_navigation_bar[0].style.top = 0 "px"
} else {
//Ifスクロール距離が元のナビゲーション バーの上からの距離より小さい場合、ナビゲーション バーの位置を再計算します
a_navigation_bar[0].style.top = (naviga_offsetTop -scrollTop) "px"
}
}
//ナビゲーション バーに 4 つのタブとクリック イベントを追加します。
window.onload=function(){
var a_tabs = [];
if( document.getElementsByClassName ){//Chrome, FF
a_tabs = document.getElementsByClassName("tab"); 🎜>}else{ //IE
a_tabs = my_getElementsByClassName("tab");
var a_contents = []
if( document.getElementsByClassName ); FF
a_contents = document.getElementsByClassName("content");
}else{//IE
a_contents = my_getElementsByClassName("content");
//OffsetLeft を取得つまり、ナビゲーション バーと左側の境界線の間の距離
var a_main_div = [];
if( document.getElementsByClassName ){//Chrome, FF
a_main_div = document.getElementsByClassName("main") );
}else{ //IE
a_main_div = my_getElementsByClassName("main");
}
naviga_offsetLeft = a_main_div[0].offsetLeft;
a_tabs; onclick=function() {
window.scrollTo(0, a_contents[2].offsetTop);
}
a_tabs[1].onclick=function(){
window.scrollTo(0, a_contents[3].offsetTop);
}
a_tabs[2].onclick=function(){
window.scrollTo(0, a_contents[4].offsetTop); a_tabs[3].onclick=function(){
window.scrollTo(0, a_contents[5].offsetTop);
}
// ナビゲーション バーの位置を上部に取得しますページ上
var a_navigation_bar = [];
if(document.getElementsByClassName){//Chrome, FF
a_navigation_bar = document.getElementsByClassName("navigation"); else {//IE
a_navigation_bar = my_getElementsByClassName("navigation");
}
//offsetTop を取得
naviga_offsetTop = a_navigation_bar[0].offsetTop
a_navigation_bar[0].style.left = naviga_offsetLeft " ";
//スクロール バーとマウスにスクロール イベントを追加します
if( window.attachEvent) //IE
{
window.attachEvent("onmousewheel", naviga_stay_top);
window.attachEvent("onscroll ", naviga_stay_top);
document.attachEvent("onmousewheel", naviga_stay_top);
document.attachEvent("onscroll", naviga_stay_top); //Chrome ,FF
window.addEventListener("mousewheel", naviga_stay_top,false);
window.addEventListener("scroll", naviga_stay_top,false);
document.addEventListener("mousewheel"); , naviga_stay_top,false);
document.addEventListener("scroll", naviga_stay_top,false);
}
}
この質問では、CSS DIV の配置 (相対、絶対、静的、固定) の違いを理解することが重要です。
relative、absolute、static、fixed
まず、各属性値の定義を見てみましょう:
1: デフォルト値。位置決めを行わない場合、要素は通常のフローで表示されます (上、下、左、右、または z-index 宣言は無視されます)。
2. 相対: 相対的に配置された要素を生成し、上、下、左、右の設定を通じて通常の位置を基準にして配置します。階層分類は、z-index を通じて実行できます。
3. 絶対: 絶対配置の要素を生成し、静的配置以外の最初の親要素を基準にして配置します。要素の位置は、「left」、「top」、「right」、「bottom」属性によって指定されます。階層分類は、z-index を通じて実行できます。
4. 修正: 絶対に配置された要素を生成し、ブラウザ ウィンドウを基準にして配置します。要素の位置は、「left」、「top」、「right」、「bottom」属性によって指定されます。階層的な分類は、z-index を通じて実行できます。
静的および固定の位置決め方法は理解しやすいため、ここでは分析しません。以下は、一般的に使用される相対と絶対の分析です:
1.相対的に配置された要素は通常のテキスト フローから削除されますが、テキスト フロー内のその位置はまだ存在します。図 1 に示すように:

図 1
背景が黄色のレイヤーは相対的に配置され、赤い枠線の領域は通常のフローでの位置です。上と左を通して配置した後、灰色の背景レイヤーの位置から、通常の位置がまだ存在していることがわかります。
2. 絶対。絶対として配置されたレイヤーは通常のテキスト フローから分離されますが、相対との違いは、通常のフロー内でのその位置が存在しなくなることです。図 2 に示すように:

図 2
ご覧のとおり、黄色の背景レイヤーを絶対として配置した後、灰色の背景レイヤーが自動的に塗りつぶされます。
3. 相対と絶対の主な違い:
まず第一に、上記のように通常の流れの中での位置が存在するかどうかです。
第 2 に、相対的に配置されたレイヤーは、親要素がどのように配置されているかに関係なく、常に最も近い親要素に対して相対的になります。図 3 に示すように:

図 3
この図では、赤い背景レイヤーは相対的に配置され、その直接の親要素の緑色の背景レイヤーは静的です。デフォルトで配置されます。赤い背景レイヤーの位置は、緑色の背景レイヤーに対して上と左の 20 要素です。赤い背景レイヤーが絶対として配置されている場合、状況は図 4 のようになります。

図 4
ご覧のとおり、赤い背景レイヤーはまだ残っています。 top:20px; left: 20px; を定義しますが、その相対要素は絶対または相対配置モードの黄色の背景レイヤーになります。したがって、絶対として配置されたレイヤーは常に、絶対または相対として定義された最も近い親レイヤーに対して相対的であり、この親レイヤーが必ずしも直接の親レイヤーであるとは限りません。親レイヤーで絶対または相対が定義されていない場合は、図 5 に示すようにボディに対して相対的に配置されます。

図 5
上部を除く、 left、right 下の配置に加えて、margin 属性値の定義も上記の規則に従います。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











Douyin インターフェースのナビゲーション バーは上部にあり、ユーザーがさまざまな機能やコンテンツにすばやくアクセスするための重要なチャネルです。 Douyin は更新を続けるため、ユーザーは個人の好みやニーズに応じてナビゲーション バーをカスタマイズおよび調整できることを望む場合があります。 1.Douyin の上部にあるナビゲーション バーを調整するにはどうすればよいですか?通常、Douyin の上部のナビゲーション バーにはいくつかの人気チャンネルが表示され、ユーザーは興味のあるコンテンツをすばやく参照して表示できます。トップチャンネルの設定を調整したい場合は、次の手順に従ってください: TikTok アプリを開いてアカウントにログインします。メイン インターフェイスの上、通常は画面の中央または上部にあるナビゲーション バーを見つけます。ナビゲーション バーの上にある「+」記号または同様のボタンをクリックして、チャネル編集インターフェイスに入ります。チャンネル編集インターフェイスでは、人気のあるチャンネルのデフォルトのリストを確認できます。合格できます

純粋な CSS を使用して影付きのメニュー ナビゲーション バーを実装する手順には、特定のコード サンプルが必要です。Web デザインでは、メニュー ナビゲーション バーは非常に一般的な要素です。メニュー ナビゲーション バーに影効果を追加すると、外観が向上するだけでなく、ユーザー エクスペリエンスも向上します。この記事では、純粋な CSS を使用して影付きのメニュー ナビゲーション バーを実装し、参考として具体的なコード例を示します。実装手順は次のとおりです。 HTML 構造の作成 まず、メニュー ナビゲーション バーを収容するための基本的な HTML 構造を作成する必要があります。による

PHP を使用して簡単なナビゲーション バーと Web サイト コレクション機能を開発する方法. ナビゲーション バーと Web サイト コレクション機能は、Web 開発において一般的で実用的な機能の 1 つです。この記事では、PHP 言語を使用して簡単なナビゲーション バーと URL 収集機能を開発する方法と、具体的なコード例を紹介します。ナビゲーション バー インターフェイスの作成 まず、ナビゲーション バー インターフェイスを作成する必要があります。通常、ナビゲーション バーには、他のページにすばやく移動するためのリンクが含まれています。 HTML と CSS を使用して、これらのリンクをデザインおよび配置できます。以下は単純なナビゲーション バー インターフェイスです。

Discuz フォーラムでは、ナビゲーション バーはユーザーが Web サイトにアクセスする際に頻繁に接触する部分の 1 つであるため、ナビゲーション バーをカスタマイズすることで、フォーラムに独自のパーソナライズされたスタイルを追加し、ユーザー エクスペリエンスを向上させることができます。次に、Discuz フォーラムのナビゲーション バーをパーソナライズする方法を紹介し、具体的なコード例を示します。まず、Discuz のバックエンド管理システムにログインし、「インターフェース」→「ナビゲーション設定」ページに入る必要があります。このページでは、ナビゲーション バーのさまざまな設定やカスタマイズを実行できます。ここにあるいくつかの

純粋な CSS を使用して応答性の高いナビゲーション バーのドロップダウン タブ メニュー効果を実装する手順。ナビゲーション バーは Web ページの一般的な要素の 1 つであり、ドロップダウン タブ メニューはナビゲーション バーでよく使用される効果です。より多くのナビゲーション オプションを提供できます。この記事では、純粋な CSS を使用して、レスポンシブ ナビゲーション バーのドロップダウン タブ メニュー効果を実装する方法を紹介します。ステップ 1: 基本的な HTML 構造を構築する まず、デモ用に基本的な HTML 構造を構築し、ナビゲーション バーにいくつかのスタイルを追加する必要があります。以下は単純な HTML 構造です。

純粋な CSS を使用してメニュー ナビゲーション バーのフローティング効果を実装する手順 Web デザインの継続的な進歩に伴い、Web サイトに対するユーザーの要求はますます高くなっています。より良いユーザーエクスペリエンスを提供するために、サスペンション効果はウェブサイトのデザインで広く使用されています。この記事では、純粋な CSS を使用してメニュー ナビゲーション バーのフローティング効果を実現し、Web サイトの使いやすさと美しさを向上させる方法を紹介します。基本的なメニュー構造を作成する まず、HTML ドキュメント内にメニューの基本構造を作成する必要があります。簡単な例を次に示します: <navclass=&q

JavaScript を使用して、Web ページの下部にある固定ナビゲーション バーの背景色のグラデーション効果を実現するにはどうすればよいですか?最新の Web デザインでは、固定ナビゲーション バーが一般的なレイアウト方法になっています。 Web ページの下部にある固定ナビゲーション バーに背景色のグラデーション効果を追加したい場合、JavaScript は非常に適した選択肢です。この記事では、JavaScript を使用してこの効果を実現する方法を紹介し、具体的なコード例を示します。ステップ 1: HTML 構造 まず、HTML を作成する必要があります。

Vue は、動的 Web アプリケーションの構築に使用できる非常に人気のある JavaScript フレームワークです。 Vue では、ナビゲーション バーの動的な効果を簡単に実現し、より優れたインターフェイス操作エクスペリエンスをユーザーに提供できます。ここでは、Vue を使用してナビゲーション バーのダイナミクスを実装するための基本的な手順をいくつか示します。 Vue インスタンスを作成するには、まず Vue ライブラリを HTML に導入し、次に Vue インスタンスを作成する必要があります。次のコードを使用して Vue インスタンスを作成できます: var
