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

回答編集履歴

2

追記

2016/07/07 07:54

投稿

yamato_hikawa
yamato_hikawa

スコア2092

answer CHANGED
@@ -1,7 +1,12 @@
1
- HTML上からswitchTxtsizeの関数が参照できないせいでした。
1
+ HTML上に書れたJS構文かswitchTxtsizeの関数が参照できないせいでした。
2
- `function()...`で囲われた中で定義された関数・変数は、HTML上から参照できません。
2
+ `function()...`で囲われた中で定義された関数・変数は、スコープの関係で参照できません。
3
3
  一旦下記で動作しましたが、JS上でイベントの関連付けをする形に改めた方が良いかもしれません。
4
4
 
5
+ ```html
6
+ <!-- switchTxtsizeを実行しようとしても、参照できない -->
7
+ <a href="javascript:switchTxtsize('txt_normal');">
8
+ ```
9
+
5
10
  ```javascript
6
11
  $(function(){
7
12
  if ($.cookie('style01')){
@@ -16,8 +21,11 @@
16
21
  break;
17
22
  }
18
23
  }
24
+
25
+ // この領域に定義されている変数・関数は外部から参照不可能
19
26
  });
20
27
 
28
+ // 外に出す
21
29
  function switchTxtsize(cssname){
22
30
  var cssurl= cssname+'.css';
23
31
  $('#css_txt_size').attr({href:cssurl});

1

修正

2016/07/07 07:54

投稿

yamato_hikawa
yamato_hikawa

スコア2092

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  HTML上からswitchTxtsizeの関数が参照できないせいでした。
2
- `$(function()...`で囲われた中で定義された関数は、HTML上から参照できません。
2
+ `function()...`で囲われた中で定義された関数・変数は、HTML上から参照できません。
3
3
  一旦下記で動作しましたが、JS上でイベントの関連付けをする形に改めた方が良いかもしれません。
4
4
 
5
5
  ```javascript