初心者です。宜しくお願いします。ソースは以下になります。
A.html(ヘッダー用)
<!doctype html> <html> <head> <meta charset="utf-8"> <title>A.html</title> <link href="**A.css**" rel="stylesheet" type="text/css"> </head> <body> <header> <div class="title"> <h1>title</h1> </div> <div class="menu"> <a href="**B.html**">**home**</a> <a href="**C.html**">**collection**</a> </div> </header>** A.css**
html{
height:100%;
width: 100%;
background-image:url("〇〇.JPG");
background-size: 100%;
background-attachment: fixed
}
header{
position: fixed;
top:0%;
left:0%;
width: 100%;
height: 20%;
text-align: center;
background: white
}
.title{
color:#124334;
font-family:"Arial Black", Gadget, "sans-serif";
font-size: 150%
}
a{
margin-right: 30px;
color: black
}
div.menu{
margin-top:20px;
font-family:"Arial Black", Gadget, "sans-serif";
color: black;
font-size: 110%;
}
B.html(homeになるhtmlファイル、A.htmlのヘッダーとC.htmlのコンテンツを使用)
<html> <head> <meta charset="utf-8"> <title>B.html</title> <link href="**B.css**" rel="stylesheet" type="text/css"> <script src="jquery-3.4.1.js" type="text/javascript"></script> <script src="AAAAA.js" type="text/javascript"></script> </head> <body> <div id="A.html"></div> <div id="C.html"></div> </body>B.css
div.C.html{
margin-top:15%;
}
B.Jquery
$(function(){
$("#A.html").load("A.html.html");
});
$(function(){
$("#C.html").load("C.html.html");
});
C.html(B.htmlのメインコンテンツ)
<html> <head> <meta charset="utf-8"> <title>C.html</title> <link href="C.css" rel="stylesheet" type="text/css"> </head> <body> <h1>Pick up title!!(画像をクリック)</h1> <div class="**iiiii**"> <a href="" class="attention"><img src="WWW.png"></a> <a href="" class="attention"><img src="XXX"></a> <a href="" class="attention"><img src="YYYY.png"></a> </div> <div class="youtube"> <iframe width="700" height="400" src="youtube></iframe> </div> </body> </html>C.css
.iiiii{
width:100%;
height: 400px;
text-align: center;
}
.attention{
padding-left:5%;
}
.youtube{
position: relative;
text-align: center;
}
h1{
text-align: center
}
D.html(B.htmlからのリンク先のファイル、ヘッダーはA.htmlを共通)
<html> <head> <meta charset="utf-8"> <title>Collection</title> <link href="D.css" rel="stylesheet" type="text/css"> <script src="jquery-3.4.1.js" type="text/javascript"></script> <script src="AAAAA.js" type="text/javascript"></script> </head> <div id="**A.html**"></div> <body> <div class="lp-2"> <h1>Collection</h1> <a href="">コンテンツ1</a> <a href="">コンテンツ2</a> <a href="">コンテンツ3</a> <a href="">コンテンツ4</a> </div> </body> </html>D.css
.lp-2{
margin-top:15%;
text-align: center
}
html{
width: 100%;
}
D.jQuery
$(function(){
$("#A.html").load("A.html.html");
});
//D.htmlでは読み込まない(上のA.html:ヘッダーのみ読み込む)//
$(function(){
$("#C.html").load("C.html.html");
});
問い合わせ内容
長くなりましたが
指南頂きたいこと、問題を以下に私なりにまとめます。
B.htmlのページにloadしたA.htmlの<a>からD.htmlにリンクした際に、
共通ヘッダーとしてjQueryで読み込んでいるA.htmlの要素が少しずれてしまいます。(リンク前、リンク後:以下のような感じです)
■B.html(jQueryでloadしているA.html;header)➡ D.html(jQueryでloadしているA.html:header)
リンク前:B.htmlのページ位置(header)➡ title
リンク後:D.htmlのページ位置(header)➡ title
1.この上記のようなズレを解消できる記述をご教示願います。
2.以下もしよろしければ(必須ではありません!)
よく見る企業ホームページなどで、リンクした瞬間の挙動がヘッダーは途切れることなく(一瞬消えない)固定されるのを見ますが、
毎回一瞬消えてしまうのを避ける方法をよろしければご教示願います。
以上、宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー