2017-08-23 12 views
0

最近私は、オンラインのコーディングチャレンジに参加しました。初心者から始めると、この問題に関する少しのガイダンスに感謝します。どこが間違っているのですか - JAVASCRIPT

本質的に、HTMLが終了するスクリプトは、マウスが上に移動して再び離れたときにタイトルとフッターの色を変更することになっていますが、何らかの理由で私にはわかりません。フッター。

私はトラブルシューティングが大好きで、数時間の検索では一般的に必要な回答が得られることがわかりましたが、ここではエラーを特定できません。

これについて正しい方向で私を指し示すことができるどんな種類のコーダーにも、私は永遠に感謝しています。事前に

多くの多くの感謝

トミーウォルシュ

UPDATE:私は私がこの質問をする前に十分な調査が、私はコードを見ている時間を過ごした私を信頼していないように見えるかもしれ理解 。私の初めてのgetElementByIdを使用していますが、潜在的にあなたの時間を無駄にするような言い訳はありません。

私はすべての回答者

header, aside, article, footer{ 
 
\t color: black; 
 
\t float:left; 
 
\t padding-left: 15px; 
 
\t padding-right: 15px; 
 
} 
 

 

 
#container { 
 
\t font-family: helvetica; 
 
\t background-color: #ffffff; 
 
\t width: 960px; 
 
\t height: 500px; 
 
\t margin: 0 auto; 
 

 
} 
 

 
header { 
 
\t background-color: green; 
 
\t width: calc(100% - 30px); 
 
} 
 

 
aside { 
 
    \t background-color: yellow; 
 
    \t clear:left; 
 
    \t width: calc(20% - 30px); 
 
    
 
} 
 

 
article { 
 
\t background-color:blue; 
 
\t width: calc(80% - 30px); 
 
\t height: 400px; 
 
} 
 

 
footer{ 
 
\t background-color:red; 
 
\t width: 100%; 
 
\t width: calc(100% - 30px); 
 
}
<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width"> 
 
    <title>Day 5 JavaScript</title> 
 
    <link href="index.css" rel="stylesheet" type="text/css" /> 
 
    </head> 
 
    <body> 
 
\t \t <div id="container"> 
 
\t \t \t <header id="title"> 
 
\t \t \t \t <h1>My Page Title</h1> 
 
\t \t \t </header> 
 
\t \t \t <aside> 
 
\t \t \t \t <p>Migas shabby chic bitters keytar occupy kinfolk. Pug gochujang heirloom cornhole sustainable single-origin coffee crucifix organic fashion axe, tumeric polaroid trust fund vegan tattooed. 
 
\t \t \t \t </p> 
 
\t \t \t </aside> 
 
\t \t \t <article> 
 
\t \t \t \t <h2>My Article Header</h2> 
 
\t \t \t \t <p> Pop-up fashion axe iPhone, tumblr put a bird on it lumberjack sartorial. Keytar coloring book plaid, marfa unicorn gluten-free affogato gastropub synth. Quinoa before they sold out sustainable, kinfolk bicycle rights XOXO yuccie craft beer cred asymmetrical hell of synth. Portland messenger bag aesthetic, kinfolk kogi try-hard cardigan. Raclette venmo forage disrupt cred bitters. Mustache sustainable XOXO, williamsburg meditation wayfarers distillery thundercats unicorn truffaut occupy twee four dollar toast irony. Green juice tumeric la croix thundercats scenester af 
 
\t \t \t \t </p> 
 
\t \t \t </article> 
 
\t \t \t <footer> 
 
\t \t \t \t <p> Footer content in here</p> 
 
\t \t \t </footer> 
 
\t \t </div> 
 
\t \t <script> document.getElementById('title').onmouseenter = function() { this.style.backgroundColor = 'purple'; }; document.getElementById('title').onmouseleave = function() { this.style.backgroundColor = 'green'; }; </script> 
 
\t \t 
 
\t \t <script> document.getElementById('footer').onmouseenter = function() { this.style.backgroundColor = 'purple'; }; document.getElementById('footer').onmouseleave = function() { this.style.backgroundColor = 'green'; }; </script> 
 
\t </body> 
 
</html>

+0

コンソールにエラーがありますか? – colinsmith1

+1

参考までに、ここに2つの 'script'要素を持つ理由はありません。それらを1つにまとめることができます。 –

+0

あなたが必要とするのは、CSSにこれを加えることです: '#title:hover、footer:hover {background-color:purple}' –

答えて

3

あなたのIDがfooterでないのは、あなたのhtmlにあります。 <footer><footer id="footer">に変更すると、問題は解決します。

また、あなたは:hoverのCSS擬似クラスを調べる必要があります。

+0

もう一度お手伝いをしてください。今編集してうまくいきました。あなたのお手伝いを非常に感謝しています。 – tomaisinrua

2

多くのおかげでIDによって要素を取得し、将来的に尋ねる前に、さらに調査します。フッターにIDがありません。

1

getElementByIdメソッドを使用しているのにフッタにはidが含まれていないため、フッターを選択しようとする方法に問題があります。 - これはあなたがすでにやっていることを考慮最も簡単です

  1. id="footer"のように、フッタータグにidを追加:あなたは、2つのオプションがあります。
  2. getElementsByTagNameメソッドを使用するようにJavaScriptを変更します。 document.getElementsByTagName('footer')[0]
+0

#2はノードリストを必要とせず、 'getElementsByTagName'が実際にはより多くのオーバーヘッドを招く「ライブ」ノードリストを返すので、ここではお勧めできません。 'querySelector()'は#2の方が良いでしょう。 –

+0

私はまだdocument.getElementsByTagNameを利用していないので、私はまだこの機能を認識していませんし、querySelectorを試したこともありません。 私はあなたのような人からたくさんのことを学ぶように見えます...乾杯 – tomaisinrua

0

document.querySelector()指定されたセレクタに一致する最初の要素を返します。覚えておいてください、これはあなたがそのようには次のように、そのノードリストの最初の要素(インデックス0)を選択する必要がありますを意味し、ノードのリストを返します。

あなたがdocument.querySelector()の代わりに、このようなdocument.getElementById()使用する場合:

document.querySelector('footer').onmouseenter = function() {...}

を、あなたのHTMLを変更する必要はありません。

関連する問題