回答編集履歴

5

テキスト修正

2018/02/19 01:46

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -216,7 +216,7 @@
216
216
 
217
217
 
218
218
 
219
- ですので、、上記の2カ所で `.bxSlider()` を実行しているのを、
219
+ ですので、現状では、上記の2カ所で `.bxSlider()` を実行しているのを、
220
220
 
221
221
  `<ul>` に対してだけ行うようにして、そちらにオプションもまとめて渡せば
222
222
 

4

テキスト追記

2018/02/19 01:46

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -192,11 +192,11 @@
192
192
 
193
193
  先に挙げた、`auto: true` ありなしを試す jsFiddle に作ったコードでも、
194
194
 
195
- `ul` に対してだけ、 `.bxSlider()` を実行しています。
195
+ `<ul>` に対してだけ、 `.bxSlider()` を実行しています。
196
-
197
-
198
-
196
+
197
+
198
+
199
- ですので、ご質問のような、2箇所で `.bxSlider()` を実行するこ
199
+ ですので、ご質問のコードような、2箇所で `.bxSlider()` を実行してしまう
200
200
 
201
201
  うまく動くのだろうか? という懸念があります。
202
202
 

3

テキスト修正

2018/02/18 15:09

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -200,9 +200,19 @@
200
200
 
201
201
  うまく動くのだろうか? という懸念があります。
202
202
 
203
+
204
+
203
- 私自身、実際に仕事で `bxSlider`を使った実績がありますが、上記のような2カ所に
205
+ 私自身、実際にフロントエンド開発の業務で `bxSlider`を使った実績がありますが、
206
+
204
-
207
+ 上記のように、2カ所(それも、この例にあるような親子関係にある2つの要素)に対して
208
+
209
+ 初期化するスライダーを作ったことはないですし、また、そういうやり方もあるということが
210
+
211
+ 書かれたドキュメントを読んだこともないです。(もし bxSlider の作者か
212
+
213
+ 主要なメンテナーの方が「そういうやり方もある」と、どこかでコード例とともに言っている
214
+
205
- て初期化る例を見ことがありません。)
215
+ のでたら、私の不勉強でから、逆にご教示いだきたいです。)
206
216
 
207
217
 
208
218
 

2

テキスト修正

2018/02/18 15:05

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -92,11 +92,15 @@
92
92
 
93
93
 
94
94
 
95
+ `auto: true` **あり: **
96
+
95
- auto: true あり: [https://jsfiddle.net/jun68ykt/0a7wmj07/11/](https://jsfiddle.net/jun68ykt/0a7wmj07/11/) => 画面読み込み後、2,3秒後に開始します。
97
+ [https://jsfiddle.net/jun68ykt/0a7wmj07/11/](https://jsfiddle.net/jun68ykt/0a7wmj07/11/) => 画面読み込み後、2,3秒後に開始します。
98
+
99
+
100
+
96
-
101
+ `auto: true` **なし:**
97
-
98
-
102
+
99
- auto: true なし: [https://jsfiddle.net/jun68ykt/0a7wmj07/12/](https://jsfiddle.net/jun68ykt/0a7wmj07/12/) => 開始しない。
103
+ [https://jsfiddle.net/jun68ykt/0a7wmj07/12/](https://jsfiddle.net/jun68ykt/0a7wmj07/12/) => 開始しない。
100
104
 
101
105
 
102
106
 

1

テキスト修正

2018/02/18 14:53

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -55,3 +55,163 @@
55
55
  なるかもしれません。
56
56
 
57
57
  (うまくいかなかったらごめんなさい)
58
+
59
+
60
+
61
+ ---
62
+
63
+ **追記**
64
+
65
+
66
+
67
+ 私のほうでも確認しました。
68
+
69
+ ```javascript
70
+
71
+ autoStart: true
72
+
73
+ ```
74
+
75
+ は、ページがロードされたときにスライドを自動的に再生するプロパティではなかったようで、
76
+
77
+ すみません。
78
+
79
+
80
+
81
+ ご質問のコードにも
82
+
83
+ ```javascript
84
+
85
+ auto: true,//自動再生
86
+
87
+ ```
88
+
89
+ と書かれているとおり、自動再生のプロパティは `auto` であることを以下で確認できました。
90
+
91
+
92
+
93
+
94
+
95
+ auto: true あり: [https://jsfiddle.net/jun68ykt/0a7wmj07/11/](https://jsfiddle.net/jun68ykt/0a7wmj07/11/) => 画面読み込み後、2,3秒後に開始します。
96
+
97
+
98
+
99
+ auto: true なし: [https://jsfiddle.net/jun68ykt/0a7wmj07/12/](https://jsfiddle.net/jun68ykt/0a7wmj07/12/) => 開始しない。
100
+
101
+
102
+
103
+ ですので、最初の回答に書いた、「`autoStart: true` にしてみては?」という提案は撤回します。
104
+
105
+
106
+
107
+ その上で、次に、ご質問のコードのここが怪しいのでは?と思ったことを書きます。
108
+
109
+
110
+
111
+ ご質問のコードだと、以下の2カ所で、 `.bxSlider()` 関数を実行して、スライダーになるようにしています。
112
+
113
+
114
+
115
+ (1) `<div class="bxslider">` に対して
116
+
117
+
118
+
119
+ ```javascript
120
+
121
+ $('.bxslider').bxSlider({
122
+
123
+ auto: true,//自動再生
124
+
125
+ autoControls: false,//再生・停止ボタン
126
+
127
+ controls: true,//NEXTボタン・PREVボタン
128
+
129
+ pager: true,//スライドナビ
130
+
131
+ speed: 500,//スライドの移動速度
132
+
133
+ autoHover: false,//マウスオーバー時停止
134
+
135
+ pause: 500,//自動再生の間隔
136
+
137
+ easing: 'swing',//イージング
138
+
139
+ minSlides: 3,//表示要素の最小数
140
+
141
+ maxSlides: 3,//表示要素の最大数
142
+
143
+ moveSlides: 1,//一度にスライドする要素数
144
+
145
+ slideWidth: 1170,//要素の幅
146
+
147
+ startSlide: 0,//最初にアクティブにする要素
148
+
149
+ });
150
+
151
+ ```
152
+
153
+   
154
+
155
+ (2) `'.bxslider > ul'` に対して
156
+
157
+
158
+
159
+ ```javascript
160
+
161
+ $slide3_ul.bxSlider({
162
+
163
+ maxSlides: 2,
164
+
165
+ easing: 'easeOutExpo',
166
+
167
+ speed: 1000,
168
+
169
+ onSliderLoad: function(cr){
170
+
171
+ $slide3_ul.children('li[data-num="' + cr + '"]').addClass('active');
172
+
173
+ $slide3.find('.bx-viewport > ul').css({
174
+
175
+ width: m * 100 + 415 + '%'
176
+
177
+ });
178
+
179
+ ```
180
+
181
+
182
+
183
+ 私が思ったのは、上記のふたつのうち、 `.bxSlider()`を実行する対象は
184
+
185
+ (2) の `<ul>` のほうだけでよいのではないか?ということです。
186
+
187
+
188
+
189
+ 先に挙げた、`auto: true` ありなしを試す jsFiddle に作ったコードでも、
190
+
191
+ `ul` に対してだけ、 `.bxSlider()` を実行しています。
192
+
193
+
194
+
195
+ ですので、ご質問のような、2箇所で `.bxSlider()` を実行することで
196
+
197
+ うまく動くのだろうか? という懸念があります。
198
+
199
+ (私自身、実際に仕事で `bxSlider`を使った実績がありますが、上記のような2カ所に
200
+
201
+ 対して初期化する例を見たことがありません。)
202
+
203
+
204
+
205
+ ですので、今、上記の2カ所で `.bxSlider()` を実行しているのを、
206
+
207
+ `<ul>` に対してだけ行うようにして、そちらにオプションもまとめて渡せば
208
+
209
+ うまくいくのではないか? と思っています。
210
+
211
+
212
+
213
+ もし、ご質問にあるような、2カ所で `.bxSlider()`を実行するやり方もアリで、
214
+
215
+ そこはうまくいく確信があっておやりになっているのでしたら、すみません、この提案は
216
+
217
+ 無視してください。