teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2020/11/19 21:06

投稿

cerfweb
cerfweb

スコア1907

answer CHANGED
@@ -12,4 +12,43 @@
12
12
 
13
13
  link_to = path_arr.join('/');
14
14
  ```
15
- あとはこのlink_toの値を、ページ読み込み時に言語切り替えのボタンに割り当てるか、ボタンをクリックした際にこのURLに飛ばすかどちらかのスクリプトを書けば大丈夫です。
15
+ あとはこのlink_toの値を、ページ読み込み時に言語切り替えのボタンに割り当てるか、ボタンをクリックした際にこのURLに飛ばすかどちらかのスクリプトを書けば大丈夫です。
16
+
17
+ 【追記】
18
+ 「link_toの値をページ読み込み時に言語切り替えのボタンに割り当てる」というのは例えば以下のようなやり方です。
19
+ 言語切り替えのリンクaのidを仮にlang-switchとします。
20
+ ```JavaScript
21
+ const linkBtn = document.getElementById('lang-switch');
22
+
23
+ document.addEventListener('DOMContentLoaded', function() {
24
+ linkBtn.setAttribute('href', link_to);
25
+ });
26
+
27
+ ```
28
+ 「ボタンをクリックした際にこのURLに飛ばす」というのは以下のような方法です。
29
+ ```JavaScript
30
+ const linkBtn = document.getElementById('lang-switch');
31
+
32
+ linkBtn.addEventListener('click', function(e){
33
+ e.preventDefault();
34
+ location.href = link_to;
35
+ });
36
+
37
+ ```
38
+ ちなみにjQueryを使用するならそれぞれ以下のようになります。
39
+ ```jQuery
40
+ const linkBtn = $('#lang-switch');
41
+
42
+ $(function(){
43
+ linkBtn.attr('href', link_to);
44
+ });
45
+ ```
46
+
47
+ ```jQuery
48
+ const linkBtn = $('#lang-switch');
49
+
50
+ linkBtn.on('click', function(e){
51
+ e.preventDefault();
52
+ location.href = link_to;
53
+ });
54
+ ```