質問編集履歴

2

コードを追加

2023/03/23 17:00

投稿

suzu1234
suzu1234

スコア41

test CHANGED
File without changes
test CHANGED
@@ -10,3 +10,107 @@
10
10
 
11
11
  ### 調べたこと
12
12
  色々調べた結果parseIntを使えばいいという記事を発見したのですが、使い方がイマイチわからず、そもそも自分の意図する動作がparseIntで実現できるのかどうかも分からなかったので質問させていただきました。ご回答いただけますと幸いです。
13
+
14
+
15
+ ### 追加したコードです
16
+ ```ここに言語を入力
17
+ <div id="main_visual">
18
+ <div id="main_visual_slider">
19
+ <img src="https://cdn.pixabay.com/photo/2022/08/12/15/40/rainbow-7381976_960_720.jpg">
20
+ <img src="https://cdn.pixabay.com/photo/2014/09/19/12/30/pencils-452238_960_720.jpg">
21
+ <img src="https://cdn.pixabay.com/photo/2015/08/28/11/37/painting-911804_960_720.jpg" >
22
+ <img src="https://cdn.pixabay.com/photo/2017/07/03/20/17/colorful-2468874_960_720.jpg">
23
+ <img src="https://cdn.pixabay.com/photo/2016/05/05/02/37/sunset-1373171_960_720.jpg">
24
+ </div>
25
+ <span id="prev_btn"></span>
26
+ <span id="next_btn"></span>
27
+ </div>
28
+ ```
29
+ ```ここに言語を入力
30
+ * {
31
+ box-sizing: border-box;
32
+ outline: 1px solid magenta;
33
+ }
34
+
35
+ img {
36
+ width: 100%;
37
+ height: auto;
38
+ object-fit: cover;
39
+ max-width: 100%;
40
+ vertical-align: bottom;
41
+ }
42
+
43
+ #main_visual {
44
+ position: relative;
45
+ width: 900px;
46
+ height: 500px;
47
+ max-width: 100%;
48
+ margin: 0 auto;
49
+ overflow: hidden;
50
+ }
51
+
52
+ #main_visual_slider {
53
+ position: relative;
54
+ display: flex;
55
+ width: 900px;
56
+ max-width: 100%;
57
+ }
58
+
59
+ #prev_btn,
60
+ #next_btn {
61
+ position: absolute;
62
+ top: calc(50% - 10px);
63
+ display: block;
64
+ width: 20px;
65
+ height: 20px;
66
+ border-top: 3.5px solid #ffffff;
67
+ border-left: 3.5px solid #ffffff;
68
+ transition: all 0.3s ease 0s;
69
+ opacity: 0;
70
+ visibility: hidden;
71
+ }
72
+
73
+ #prev_btn.display,
74
+ #next_btn.display {
75
+ opacity: 1;
76
+ visibility: visible;
77
+ }
78
+
79
+ #prev_btn {
80
+ left: 55px;
81
+ transform: rotate(315deg);
82
+ }
83
+
84
+ #next_btn {
85
+ right: 55px;
86
+ transform: rotate(135deg);
87
+ }
88
+ ```
89
+ ```ここに言語を入力
90
+ const mainVisual = document.getElementById('main_visual');
91
+ const mainVisualPrevBtn = document.getElementById('prev_btn');
92
+ const mainVisualNextBtn = document.getElementById('next_btn');
93
+
94
+ mainVisual.addEventListener('mouseover', () => {
95
+ mainVisualPrevBtn.classList.add('display');
96
+ mainVisualNextBtn.classList.add('display');
97
+ });
98
+
99
+ mainVisual.addEventListener('mouseout', () => {
100
+ mainVisualPrevBtn.classList.remove('display');
101
+ mainVisualNextBtn.classList.remove('display');
102
+ });
103
+
104
+
105
+
106
+
107
+
108
+ const prevBtn = document.getElementById('prev_btn');
109
+ const nextBtn = document.getElementById('next_btn');
110
+ const main_visual_slider = document.getElementById('main_visual_slider');
111
+ const main_visual_slider_w = main_visual_slider.clientWidth;
112
+
113
+ nextBtn.addEventListener('click', () => {
114
+ main_visual_slider.style.transform = 'translateX(' + main_visual_slider_w + ')';
115
+ });
116
+ ```

1

具体例を追加

2023/03/22 19:23

投稿

suzu1234
suzu1234

スコア41

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  特定の要素のwidthをelement.clientWidthで取得して、取得したwidthの値を数値として使いたいです。
4
4
 
5
- イメージとしましては以下のコードの○○の部分にelement.clientWidthで取得した値を入れて自由に操作する感じです。
5
+ イメージとしましては以下のコードの○○の部分にelement.clientWidthで取得した値を入れて自由に操作する感じです。(要素のwidthが100pxの場合、100px分左右に移動できるようにしたい)
6
6
 
7
7
  ```ここに言語を入力
8
8
  element.style.transform = 'translateX(○○)';