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

回答編集履歴

2

typo

2018/12/03 07:37

投稿

yambejp
yambejp

スコア117887

answer CHANGED
@@ -28,33 +28,27 @@
28
28
  <div id="wrap">
29
29
  <div>1
30
30
  <input class="abc" type="checkbox">
31
- <br><br><br>
32
31
  </div>
33
32
  <div>
34
33
  2
35
34
  <input class="abc" type="checkbox">
36
- <br><br><br>
37
35
  </div>
38
36
  <div>
39
37
  3
40
38
  <input class="abc" type="checkbox">
41
- <br><br><br>
42
39
  </div>
43
40
  <div>
44
41
  4
45
42
  <input class="abc" type="checkbox">
46
- <br><br><br>
47
43
  </div>
48
44
  <div>
49
45
  5
50
46
  <input class="abc" type="checkbox">
51
- <br><br><br>
52
47
  </div>
53
48
  <div>
54
49
  6
55
50
  <input class="abc" type="checkbox">
56
- <br><br><br>
57
51
  </div>
58
52
  </div>
59
- a
53
+
60
54
  ```

1

調整

2018/12/03 07:37

投稿

yambejp
yambejp

スコア117887

answer CHANGED
@@ -1,1 +1,60 @@
1
- 各チェックボックスにtabindex属性をつければよいのでは?
1
+ 各チェックボックスにtabindex属性をつければよいのでは?
2
+
3
+ # 調整
4
+
5
+ ```javascript
6
+ <style>
7
+ #wrap div{height:999px;}
8
+ #wrap div:nth-child(2n){background-Color:lime;}
9
+ #wrap div:nth-child(2n+1){background-Color:yellow;}
10
+ </style>
11
+
12
+ <script>
13
+ $(function(){
14
+ $(document).on('keyup',function(e){
15
+ if($(e.target).filter("body,.abc").length>0){
16
+ var idx=$('.abc').index($('.abc:focus'));
17
+ if(idx<0) idx=0;
18
+ var key=String.fromCharCode(e.keyCode).toLowerCase();
19
+ if(key=="b" && idx < $('.abc').length-1) idx++;
20
+ if(key=="a" && idx > 0) idx--;
21
+ $('html,body').animate({scrollTop:$('.abc').eq(idx).offset().top},0);
22
+ $('.abc').eq(idx).trigger('focus');
23
+ }
24
+ });
25
+ });
26
+ </script>
27
+
28
+ <div id="wrap">
29
+ <div>1
30
+ <input class="abc" type="checkbox">
31
+ <br><br><br>
32
+ </div>
33
+ <div>
34
+ 2
35
+ <input class="abc" type="checkbox">
36
+ <br><br><br>
37
+ </div>
38
+ <div>
39
+ 3
40
+ <input class="abc" type="checkbox">
41
+ <br><br><br>
42
+ </div>
43
+ <div>
44
+ 4
45
+ <input class="abc" type="checkbox">
46
+ <br><br><br>
47
+ </div>
48
+ <div>
49
+ 5
50
+ <input class="abc" type="checkbox">
51
+ <br><br><br>
52
+ </div>
53
+ <div>
54
+ 6
55
+ <input class="abc" type="checkbox">
56
+ <br><br><br>
57
+ </div>
58
+ </div>
59
+ a
60
+ ```