JavaScriptレスポンシブナビについて
解決済
回答 1
投稿
- 評価
- クリップ 0
- VIEW 1,169
現在上記ページ(テンプレート)を編集しているのですが...
右上の MENU をクリックしたらメニューが出てくるJSを調整中です。
該当のJSのコードを見ていると無駄な部分があるように思えます。
例えば以下のコードの部分です。
init: function()
lib.add(window,"load",function(){
lib.BodyClassName = document.body.className;
var tObj = document.getElementsByTagName('nav');
var nav = document.createElement('nav');
nav.id = 'SlideNav';
nav.className = 'close';
nav.onclick = function(){
lib.toggle();
};
var ul = document.createElement('ul');
var li = document.createElement('li');
var elm = document.createElement('a');
elm.innerHTML = "Test" ;
elm.href = "#test";
li.appendChild(elm);
ul.appendChild(li);
var li = document.createElement('li');
var elm = document.createElement('a');
elm.innerHTML = "Yahoo!" ;
elm.href = "http://yahoo.co.jp/" ;
li.appendChild(elm);
ul.appendChild(li);
var li = document.createElement('li');
var elm = document.createElement('a');
elm.innerHTML = "Google" ;
elm.href = "http://google.com/";
li.appendChild(elm);
ul.appendChild(li);
nav.appendChild(ul);
document.body.appendChild(nav);
var sw = document.createElement('div');
sw.id = 'ResponsiveNavOverlay';
sw.className = 'close';
sw.onclick = function(){
lib.toggle();
};
document.body.appendChild(sw);
});
},
上記コードを削除して...
<nav class="close" id="SlideNav"><ul><li><a href="#test">Test</a></li><li><a href="http://yahoo.co.jp/">Yahoo!</a></li><li><a href="http://google.com/">Google</a></li></ul></nav>
<div class="close" id="ResponsiveNavOverlay"></div>
上記HTMLを直接書き込むと同じ動作はしないのでしょうか?
ご回答よろしくお願いします。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
0
だとすると、HTMLで直書きするのと、JavaScriptで動的に生成するのでは、
単純に生成のタイミングが違ってきますんで、そこに注意しておけば、
直書きでもいいのかも。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.19%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2015/01/28 00:20
JavaScriptの読み込みが終わっていないににメニューがあるだけで、
機能には影響がないという認識で大丈夫でしょうか?
2015/01/28 00:28
今回のHTML直書きはその逆なので、問題無いと思いますよ。
大丈夫だと思いますー。
2015/01/28 06:40
直してみました。
メニューオープンは正常に動作するのですが、
クローズが動作しなくなりました。
私には原因が分からないにでアドバイスいただけないでしょうか?
お手数ですがよろしくお願いします。
2015/01/28 19:32
this.lib.init();
でエラーでてるんですけど、
init()がないですよ。
2015/01/28 21:59
2015/01/28 22:00
どのように直せばいいのでしょうか...?
JS始めたばかりなので教えていただけると幸いです。
2015/01/28 23:50
ありがとうございました!
2015/01/29 20:48
解決したようで何よりですー。