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

質問編集履歴

1

外部サービスのURLをリンクにしました。ソースを記述しました。

2018/04/30 22:35

投稿

gamu
gamu

スコア31

title CHANGED
File without changes
body CHANGED
@@ -19,8 +19,369 @@
19
19
 
20
20
  ご回答よろしくお願いします。
21
21
 
22
- ![![イメージ説明](18e68776b697c515d599202a83bb010a.png)]
22
+ ![![イメージ説明](18e68776b697c515d599202a83bb010a.png)
23
23
 
24
24
 
25
- ソース
25
+ ソースのリンク
26
- https://jsfiddle.net/3ndjf32c/
26
+ [https://jsfiddle.net/3ndjf32c/](https://jsfiddle.net/3ndjf32c/)
27
+
28
+ ```html
29
+ <!DOCTYPE html>
30
+ <html lang="ja">
31
+ <head>
32
+ <meta charset="utf-8">
33
+ <title></title>
34
+ <link rel="stylesheet" href="styles.css">
35
+ </head>
36
+ <body>
37
+
38
+
39
+ <div id="container">
40
+
41
+ <div id="Vscrolls">
42
+ <div id="ALWL">
43
+
44
+ <div class="row">
45
+ <div class="Address">Address</div>
46
+ <div class="Comment">Comment</div>
47
+ </div>
48
+
49
+ <div class="row">
50
+ <div class="Address">Address</div>
51
+ <div class="Comment">Comment</div>
52
+ </div>
53
+
54
+ <div class="row">
55
+ <div class="Address">Address</div>
56
+ <div class="Comment">Comment</div>
57
+ </div>
58
+
59
+ <div class="row">
60
+ <div class="Address">Address</div>
61
+ <div class="Comment">Comment</div>
62
+ </div>
63
+
64
+ <div class="row">
65
+ <div class="Address">Address</div>
66
+ <div class="Comment">Comment</div>
67
+ </div>
68
+
69
+ <div class="row">
70
+ <div class="Address">Address</div>
71
+ <div class="Comment">Comment</div>
72
+ </div>
73
+
74
+ </div>
75
+ </div>
76
+
77
+ <div id="Hscrolls">
78
+ <div id="selectBarV"></div>
79
+ <div id="selectBarH"></div>
80
+
81
+
82
+
83
+ <div id="contents">
84
+ <div class="bitdata">
85
+ <div class ="rise">1</div>
86
+ <div class ="extnc">0</div>
87
+ <div class ="extnc">0</div>
88
+ <div class ="extnc">0</div>
89
+
90
+ </div>
91
+ <div class="bitdata">
92
+ <div class ="rise">1</div>
93
+ <div class ="rise">1</div>
94
+ <div class ="rise">1</div>
95
+ <div class ="extnc">0</div>
96
+
97
+ </div>
98
+ <div class="bitdata">
99
+ <div class ="rise">1</div>
100
+ <div class ="extnc">0</div>
101
+ <div class ="rise">1</div>
102
+ <div class ="extnc">0</div>
103
+ <div class ="extnc">0</div>
104
+
105
+ </div>
106
+ <div class="bitdata">
107
+ <div class ="rise">1</div>
108
+ <div class ="extnc">0</div>
109
+ <div class ="rise">1</div>
110
+ <div class ="extnc">0</div>
111
+
112
+ </div>
113
+ <div class="bitdata">
114
+
115
+ <div class ="rise">1</div>
116
+ <div class ="extnc">0</div>
117
+ <div class ="extnc">0</div>
118
+ <div class ="rise">1</div>
119
+ <div class ="extnc">0</div>
120
+ <div class ="extnc">0</div>
121
+ <div class ="extnc">0</div>
122
+ <div class ="rise">1</div>
123
+ <div class ="extnc">0</div>
124
+ <div class ="rise">1</div>
125
+ <div class ="rise">1</div>
126
+ <div class ="rise">1</div>
127
+ <div class ="rise">1</div>
128
+ <div class ="extnc">0</div>
129
+ <div class ="extnc">0</div>
130
+ <div class ="extnc">0</div>
131
+ <div class ="rise">1</div>
132
+ <div class ="extnc">0</div>
133
+ <div class ="rise">1</div>
134
+ <div class ="rise">1</div>
135
+ <div class ="rise">1</div>
136
+ </div>
137
+ <div class="bitdata">
138
+ <div class ="extnc">0</div>
139
+ <div class ="extnc">0</div>
140
+ <div class ="extnc">0</div>
141
+ <div class ="extnc">0</div>
142
+ <div class ="extnc">0</div>
143
+ <div class ="extnc">0</div>
144
+ <div class ="extnc">0</div>
145
+ <div class ="extnc">0</div>
146
+ <div class ="extnc">0</div>
147
+ <div class ="extnc">0</div>
148
+ <div class ="extnc">0</div>
149
+ <div class ="extnc">0</div>
150
+ <div class ="extnc">0</div>
151
+ <div class ="extnc">0</div>
152
+ <div class ="extnc">0</div>
153
+ <div class ="extnc">0</div>
154
+ <div class ="extnc">0</div>
155
+ <div class ="extnc">0</div>
156
+ <div class ="extnc">0</div>
157
+ <div class ="extnc">0</div>
158
+ <div class ="extnc">0</div>
159
+ </div>
160
+ </div>
161
+
162
+
163
+ </div>
164
+
165
+
166
+
167
+ </div>
168
+
169
+ <div id="footer">
170
+
171
+ <div id="ZoomBox">
172
+ <div id="btnZI" class="disabled">btnZI</div>
173
+ <div id="btnZO" class="disabled">btnZO</div>
174
+ <div id="magnification">倍率:</div>
175
+ </div>
176
+
177
+ <input type="text" id="memo" placeholder="メモ">
178
+ <div id="testdiv"></div>
179
+
180
+
181
+
182
+ </div>
183
+
184
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
185
+ <script src="main.js"></script>
186
+ </body>
187
+ </html>
188
+
189
+ ```
190
+ ```css
191
+ body {
192
+ background: #222;
193
+ font-family: ;Arial, sans-serif;
194
+ font-size: 15px;
195
+ }
196
+
197
+ #container{
198
+ width: 100%;
199
+ background-color: #ddd ;
200
+ position: absolute;top:0;left: 0;
201
+ }
202
+
203
+ #Vscrolls {
204
+ float: left;
205
+ width: 190px;
206
+ position: sticky; left: 0;
207
+ }
208
+
209
+ #ALWL{
210
+ background-color: #bbb;
211
+ box-shadow: 8px 0px 8px rgba(0,0,0,0.2);
212
+ height: 300px;
213
+ }
214
+
215
+ #Hscrolls {
216
+ background-color: pink;
217
+ overflow: scroll;
218
+ }
219
+
220
+
221
+ #contents{
222
+ width: 2300px;
223
+ height: 300px;
224
+ background-color: #888;
225
+ }
226
+
227
+
228
+ #selectBarH{
229
+ clear: both;
230
+ opacity: 0.4;
231
+ position: absolute;top:18px;left: 0px;
232
+ width: 500px ;
233
+ height: 13px;
234
+ background-color: #3f3;
235
+ overflow: hidden;
236
+
237
+ }
238
+
239
+ #selectBarV{
240
+ overflow: hidden;
241
+ opacity: 0.2;
242
+ position: absolute;top:0;left:260px;
243
+ width: 13px;
244
+ height: 100%;
245
+ background-color: #3f3;
246
+ }
247
+
248
+
249
+
250
+ #btnZI,#btnZO,#memo {margin: 4px;}
251
+
252
+ #memo {width: 400px;}
253
+
254
+ .Address{
255
+ float: left;
256
+ margin: 1px;
257
+ padding: 0px 2px 0px;
258
+ background-color: #fff;
259
+ border-radius: 4px;
260
+ color: #000;
261
+ }
262
+ .Comment{
263
+ width: 90px;
264
+ float: left;
265
+ margin: 1px;
266
+ padding: 0px 2px 0px;
267
+ background-color: #fff;
268
+ border-radius: 4px;
269
+ color: #000;
270
+ }
271
+
272
+ .row{clear: both;}
273
+
274
+ .bitdata{display: table;}
275
+
276
+ .rise,.extnc{
277
+ font-size: 5px;
278
+ display: table-cell;
279
+ width: 10px;
280
+ height: 16px;
281
+ text-align: center;
282
+ vertical-align: middle;
283
+ }
284
+
285
+ .rise{
286
+ background-color: #333;
287
+ color: #555;
288
+ }
289
+
290
+ .extnc{
291
+ background-color: #eee;
292
+ color: #aaa;
293
+ }
294
+
295
+
296
+ ```
297
+ ```js
298
+ (function() {
299
+ 'use strict';
300
+
301
+ var selectBarH = document.getElementById("selectBarH");
302
+ var selectBarV = document.getElementById("selectBarV");
303
+
304
+ var HscrollsX = document.getElementById("Hscrolls");
305
+ var rectHx = HscrollsX.getBoundingClientRect();
306
+ var docliw = document.body.clientWidth;
307
+ var winwi = window.innerWidth;
308
+
309
+ var diffx;
310
+ var widH;
311
+
312
+ var Address = document.querySelector('.Address');
313
+ var AddressHeightpx = getStyleSheetValue(Address, 'height');
314
+ var AddressMarginpx = getStyleSheetValue(Address, 'Margin');
315
+ var AddressHeightNum = parseFloat(AddressHeightpx.slice(0,-2));
316
+ var AddressMarginNum = parseFloat(AddressMarginpx.slice(0,-2));
317
+ var AddressTotalHeight = AddressHeightNum + (2 * AddressMarginNum);
318
+ $('.rise').css('height',AddressTotalHeight);
319
+
320
+
321
+
322
+
323
+ var rise = document.querySelector('.rise');
324
+ var risewidthpx = getStyleSheetValue(rise, 'width');
325
+ var riseheightpx = getStyleSheetValue(rise, 'height');
326
+
327
+ var risewidthnum = risewidthpx.slice(0,-2);
328
+ var riseheightnum = riseheightpx.slice(0,-2);
329
+
330
+
331
+
332
+ function getStyleSheetValue(element, property) {
333
+ if (!element || !property) {
334
+ return null;
335
+ }
336
+ var style = window.getComputedStyle(element);
337
+ var value = style.getPropertyValue(property);
338
+ return value;
339
+ }
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+ var selectBarH = document.getElementById("selectBarH");
349
+ var rectH = selectBarH.getBoundingClientRect();
350
+
351
+ var selectBarV = document.getElementById("selectBarV");
352
+ var rectV = selectBarV.getBoundingClientRect();
353
+
354
+ var itvY = riseheightnum;
355
+ var itvX = risewidthnum;
356
+
357
+ var mousePositionX;
358
+ var mousePositionY;
359
+
360
+
361
+ document.getElementById('Hscrolls').addEventListener('mousemove',function(e){
362
+ getMousePosition(e);
363
+ });
364
+
365
+
366
+ function getMousePosition(e){
367
+ try{
368
+ mousePositionX = Math.floor(e.clientX/risewidthnum) * risewidthnum;
369
+ mousePositionY = Math.floor(e.clientY/riseheightnum) * riseheightnum;
370
+
371
+ selectBarV.style.left = mousePositionX + "px";
372
+ selectBarH.style.top = mousePositionY + "px";
373
+ selectBarV.style.width = risewidthpx;
374
+ selectBarH.style.height = riseheightpx;
375
+
376
+ docliw = document.body.clientWidth;
377
+ winwi = window.innerWidth;
378
+ diffx = winwi - docliw;
379
+
380
+ selectBarH.style.width = parseInt(winwi-diffx) + "px";
381
+ }catch (error){
382
+ console.log(error);
383
+ }}
384
+
385
+ })();
386
+
387
+ ```