質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

4801閲覧

jsでブレイクポイントの分岐+リロードの実装をスマートに記述

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2016/12/25 13:22

解決させたいことは、jsでの分岐で、PC用とSP用のjsファイルを切り替えをしているのですが、SPへのブレイクポイント768pxへ切り替え後と、PC版へ戻した後にリロードを行っているのですが、スマートに記述する方法をご教授いただきたいです。

以下、ソースになります。
何卒、よろしくお願い致します。

// js分岐記述 jQuery(document).ready(function($) { //PC環境の場合 if (window.matchMedia( '(min-width: 769px)' ).matches) { $.ajax({ url: 'js/pc.js', dataType: 'script', cache: false }); //モバイル環境の場合 } else { $.ajax({ url: 'js/sp.js', dataType: 'script', cache: false }); }; }); // リロード記述 var context; var $window = $(window); // run this right away to set context if ($window.width() <= 768) { context = 'small'; } else { context = 'large'; } // refresh the page only if you're crossing into a context // that isn't already set $(window).resize(function() { if(($window.width() <= 768) && (context != 'small')) { //refresh the page location.reload(); } else if (context != 'large') { location.reload(); } });

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

あまり参考になるかわかりませんが、私の場合はこのように行いますね。
スマートかわかりませんが...

HTML

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="utf-8"> 5 <title>タイトル</title> 6</head> 7<body> 8<span>てきすてきすと</span> 9<div id="jsRead"> 10</div> 11<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> 12<script> 13 var jsRead = function () { 14 if (window.matchMedia("(min-width: 769px)").matches) { 15 $("#jsRead").empty().append($("<script><" + "/script>").attr("src", "js1.js")); 16 } else { 17 $("#jsRead").empty().append($("<script><" + "/script>").attr("src", "js2.js")); 18 } 19 }; 20 $(document).ready(function () { 21 jsRead(); 22 }); 23 $(window).resize(function () { 24 jsRead(); 25 }); 26</script> 27</body> 28</html>

js1.js

javascript

1$("body").css("background", "white"); 2$("span").css("color", "black");

js2.js

javascript

1$("body").css("background", "black"); 2$("span").css("color", "white");

投稿2016/12/25 15:00

編集2016/12/25 16:56
s8_chu

総合スコア14731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問