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

質問編集履歴

1

改善しない問題点を追記

2020/09/22 01:25

投稿

treevillage
treevillage

スコア4

title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,140 @@
1
+ ### 2020/09/22追記
2
+ > 背景変更ボタンをタップしたら、背景画像が変わるようにしました。
3
+ > 切り替わる際にスライドするアニメーションをいれたいのですが、
4
+ > 自分のスキルではわかりませんでした。
5
+
6
+ スライドアニメーションをいれたら、背景変更ボタンをタップで切り替えることができなくなりました。
7
+ 現状は、タイマー形式で背景画像にスライドアニメーションがはいります。
8
+ タイマー形式の切り替えを削除して、背景変更ボタンで背景画像をスライドアニメーションで切り替えたいです。
9
+
10
+ 下記現状のコードです。宜しくお願い致します。
11
+
12
+ ```JavaScript
13
+ $(function() {
14
+ var idx = 3;
15
+ var interval = 5000;
16
+ var items = $(".slide");
17
+
18
+ slideTimer();
19
+ timer = setInterval(slideTimer, interval);
20
+
21
+ function slideTimer() {
22
+ items.removeClass("is-old");
23
+ items.eq(idx).removeClass("is-now").addClass("is-old");
24
+ items.eq(idx==3 ? idx=0 : ++idx).addClass("is-now");
25
+ };
26
+ });
27
+ ```
28
+ ```HTML
29
+ <body>
30
+ <div>
31
+ <div class="submit"><input type="button" value="背景変更" onclick="func()"></div>
32
+ </div>
33
+ <div class="slider">
34
+ <div class="slideSet">
35
+ <div class="slide">
36
+ <div class="img"></div>
37
+ </div>
38
+ <div class="slide">
39
+ <div class="img"></div>
40
+ </div>
41
+ <div class="slide">
42
+ <div class="img"></div>
43
+ </div>
44
+ <div class="slide">
45
+ <div class="img"></div>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ <script>
50
+ $(function() {
51
+ var idx = 3;
52
+ var interval = 5000;
53
+ var items = $(".slide");
54
+
55
+ slideTimer();
56
+ timer = setInterval(slideTimer, interval);
57
+
58
+ function slideTimer() {
59
+ items.removeClass("is-old");
60
+ items.eq(idx).removeClass("is-now").addClass("is-old");
61
+ items.eq(idx==3 ? idx=0 : ++idx).addClass("is-now");
62
+ };
63
+ });
64
+ </script>
65
+ </body>
66
+ ```
67
+
68
+ ```CSS
69
+ .submit{
70
+ position:fixed;
71
+ bottom:4%;
72
+ width:86%;
73
+ left: 50%;
74
+ transform: translateX(-50%);
75
+ margin: auto;
76
+ z-index:100;
77
+ }
78
+
79
+ .slide:nth-child(1) > .img {
80
+ background-image: url("../img/bg01.jpg");
81
+ }
82
+ .slide:nth-child(2) > .img {
83
+ background-image: url("../img/bg02.jpg");
84
+ }
85
+ .slide:nth-child(3) > .img {
86
+ background-image: url("../img/bg03.jpg");
87
+ }
88
+ .slide:nth-child(4) > .img {
89
+ background-image: url("../img/bg04.jpg");
90
+ }
91
+
92
+ .slider {
93
+ position: relative;
94
+ overflow: hidden;
95
+ width: 100%;
96
+ height: 100vh;
97
+ margin: 0 auto
98
+ }
99
+ .slide {
100
+ position: absolute;
101
+ right: 0;
102
+ width: 0;
103
+ height: 100vh;
104
+ overflow: hidden;
105
+ transition: width 1.4s linear;
106
+ transition-timing-function: ease-out;
107
+ }
108
+
109
+ .slide > .img {
110
+ position: absolute;
111
+ width: 110vw;
112
+ height: 110vh;
113
+ background-position: center;
114
+ background-size: cover;
115
+ right: -10vw;
116
+ transition: right 0s 1s linear;
117
+ transition-timing-function: ease-out;
118
+ }
119
+
120
+ .slide.is-now > .img, .slide.is-now > .img {
121
+ right: 0;
122
+ transition: right 1.4s linear;
123
+ transition-timing-function: ease-out;
124
+ }
125
+ .slide.is-now {
126
+ width: 100%;
127
+ z-index: 2;
128
+ }
129
+ .slide.is-old {
130
+ width: 100%;
131
+ z-index: 1;
132
+ }
133
+ ```
134
+
135
+
136
+ ### 2020/09/20投稿
137
+
1
138
  背景変更ボタンをタップしたら、背景画像が変わるようにしました。
2
139
  切り替わる際にスライドするアニメーションをいれたいのですが、
3
140
  自分のスキルではわかりませんでした。