|
332 | 332 | let slides = {}
|
333 | 333 | Object.assign(slides, this.slides)
|
334 | 334 |
|
| 335 | + let x = 0 |
| 336 | +
|
335 | 337 | for (let i = 0; i < this.settings.slidesToShow + 1; i++) {
|
336 | 338 | let index = this.slidesCount + i - 1
|
337 |
| - let cloned = slides[i].cloneNode(true) |
| 339 | + let cloned = slides[x].cloneNode(true) |
338 | 340 | cloned.classList.add('agile__slide--cloned')
|
339 | 341 | this.$refs.track.insertBefore(cloned, this.slides[index].nextSibling)
|
| 342 | +
|
| 343 | + x += 1 |
| 344 | +
|
| 345 | + if (x >= this.slidesCount) { |
| 346 | + x = 0 |
| 347 | + } |
340 | 348 | }
|
341 | 349 |
|
| 350 | + let y = this.slidesCount - 1 |
| 351 | +
|
342 | 352 | for (let i = this.slidesCount - 1; i > this.slidesCount - 2 - this.settings.slidesToShow; i--) {
|
343 |
| - let cloned = slides[i].cloneNode(true) |
| 353 | + let cloned = slides[y].cloneNode(true) |
344 | 354 | cloned.classList.add('agile__slide--cloned')
|
345 | 355 | this.$refs.track.insertBefore(cloned, this.slides[0])
|
| 356 | +
|
| 357 | + y -= 1 |
| 358 | +
|
| 359 | + if (y <= 0) { |
| 360 | + y = this.slidesCount - 1 |
| 361 | + } |
346 | 362 | }
|
347 | 363 |
|
348 | 364 | this.countSlides()
|
|
402 | 418 | let h = Math.floor(this.settings.slidesToShow / 2)
|
403 | 419 |
|
404 | 420 | for (let j = i - h; j <= i + h; j++) {
|
| 421 | + if (!this.settings.infinite && (j < 0 || j >= this.slidesCount - 1)) { |
| 422 | + continue |
| 423 | + } |
| 424 | +
|
405 | 425 | this.slides[j].classList.add('agile__slide--current')
|
406 | 426 | }
|
407 | 427 | }
|
|
490 | 510 | } else {
|
491 | 511 | let transform = n * this.widthSlide
|
492 | 512 |
|
493 |
| - if (!this.settings.infinite && this.slidesCount - n < this.settings.slidesToShow + 1) { |
494 |
| - transform = this.widthSlide * (this.slidesCount - this.settings.slidesToShow + 1) |
| 513 | + if (!this.settings.infinite && this.slidesCount - n < this.settings.slidesToShow) { |
| 514 | + transform = this.widthSlide * (this.slidesCount - this.settings.slidesToShow) |
495 | 515 | }
|
496 | 516 |
|
497 | 517 | if (this.settings.centerMode) {
|
498 |
| - if (this.settings.slidesToShow % 2) { |
| 518 | + if (this.settings.slidesToShow % 2 === 0) { |
| 519 | + transform -= (Math.floor(this.settings.slidesToShow / 2) - 1) * this.widthSlide |
| 520 | +
|
| 521 | + if (this.settings.slidesToShow >= 4) { |
| 522 | + // transform -= Math.floor(this.settings.slidesToShow / 3) * this.widthSlide |
| 523 | + } |
| 524 | + } else { |
499 | 525 | transform -= Math.floor(this.settings.slidesToShow / 2) * this.widthSlide
|
500 |
| - } else if (this.settings.slidesToShow >= 4) { |
501 |
| - // transform -= Math.floor(this.settings.slidesToShow / 3) * this.widthSlide |
502 | 526 | }
|
503 | 527 | }
|
504 | 528 |
|
|
0 commit comments