Skip to content

Commit 0671e10

Browse files
authored
Merge pull request #717 from meandmax/iFixit-add-option-for-initial-index
Add initial index
2 parents 7f4d03c + 8190ffd commit 0671e10

11 files changed

Lines changed: 69 additions & 13 deletions

File tree

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,11 @@ li {
284284
<td>cubic bezier easing functions: http://easings.net/de</td>
285285
<td>default: 'ease'</td>
286286
</tr>
287+
<tr>
288+
<td>initialIndex</td>
289+
<td>the slide index to show when the slider is initialized</td>
290+
<td>default: 0</td>
291+
</tr>
287292
<tr>
288293
<td>classNameFrame</td>
289294
<td>class name for slider frame</td>

dist/jquery.lory.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -377,9 +377,11 @@ function lory(slider, opts) {
377377
classNamePrevCtrl = _options4.classNamePrevCtrl,
378378
classNameNextCtrl = _options4.classNameNextCtrl,
379379
enableMouseEvents = _options4.enableMouseEvents,
380-
classNameActiveSlide = _options4.classNameActiveSlide;
380+
classNameActiveSlide = _options4.classNameActiveSlide,
381+
initialIndex = _options4.initialIndex;
381382

382383

384+
index = initialIndex;
383385
frame = slider.getElementsByClassName(classNameFrame)[0];
384386
slideContainer = frame.getElementsByClassName(classNameSlideContainer)[0];
385387
prevCtrl = slider.getElementsByClassName(classNamePrevCtrl)[0];
@@ -437,7 +439,8 @@ function lory(slider, opts) {
437439
ease = _options5.ease,
438440
rewindSpeed = _options5.rewindSpeed,
439441
rewindOnResize = _options5.rewindOnResize,
440-
classNameActiveSlide = _options5.classNameActiveSlide;
442+
classNameActiveSlide = _options5.classNameActiveSlide,
443+
initialIndex = _options5.initialIndex;
441444

442445

443446
slidesWidth = slideContainer.getBoundingClientRect().width || slideContainer.offsetWidth;
@@ -450,7 +453,7 @@ function lory(slider, opts) {
450453
}
451454

452455
if (rewindOnResize) {
453-
index = 0;
456+
index = initialIndex;
454457
} else {
455458
ease = null;
456459
rewindSpeed = 0;
@@ -758,6 +761,12 @@ exports.default = {
758761
*/
759762
infinite: false,
760763

764+
/**
765+
* the slide index to show when the slider is initialized.
766+
* @initialIndex {number}
767+
*/
768+
initialIndex: 0,
769+
761770
/**
762771
* class name for slider frame
763772
* @classNameFrame {string}

dist/jquery.lory.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/jquery.lory.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/lory.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -377,9 +377,11 @@ function lory(slider, opts) {
377377
classNamePrevCtrl = _options4.classNamePrevCtrl,
378378
classNameNextCtrl = _options4.classNameNextCtrl,
379379
enableMouseEvents = _options4.enableMouseEvents,
380-
classNameActiveSlide = _options4.classNameActiveSlide;
380+
classNameActiveSlide = _options4.classNameActiveSlide,
381+
initialIndex = _options4.initialIndex;
381382

382383

384+
index = initialIndex;
383385
frame = slider.getElementsByClassName(classNameFrame)[0];
384386
slideContainer = frame.getElementsByClassName(classNameSlideContainer)[0];
385387
prevCtrl = slider.getElementsByClassName(classNamePrevCtrl)[0];
@@ -437,7 +439,8 @@ function lory(slider, opts) {
437439
ease = _options5.ease,
438440
rewindSpeed = _options5.rewindSpeed,
439441
rewindOnResize = _options5.rewindOnResize,
440-
classNameActiveSlide = _options5.classNameActiveSlide;
442+
classNameActiveSlide = _options5.classNameActiveSlide,
443+
initialIndex = _options5.initialIndex;
441444

442445

443446
slidesWidth = slideContainer.getBoundingClientRect().width || slideContainer.offsetWidth;
@@ -450,7 +453,7 @@ function lory(slider, opts) {
450453
}
451454

452455
if (rewindOnResize) {
453-
index = 0;
456+
index = initialIndex;
454457
} else {
455458
ease = null;
456459
rewindSpeed = 0;
@@ -758,6 +761,12 @@ exports.default = {
758761
*/
759762
infinite: false,
760763

764+
/**
765+
* the slide index to show when the slider is initialized.
766+
* @initialIndex {number}
767+
*/
768+
initialIndex: 0,
769+
761770
/**
762771
* class name for slider frame
763772
* @classNameFrame {string}

dist/lory.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/lory.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

index.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -700,6 +700,11 @@ <h2>Options</h2>
700700
<td>time for the snapBack of the slider if the slide attempt was not valid</td>
701701
<td>default: 200</td>
702702
</tr>
703+
<tr>
704+
<td>initialIndex</td>
705+
<td>the slide index to show when the slider is initialized</td>
706+
<td>default: 0</td>
707+
</tr>
703708
<tr>
704709
<th>ease</th>
705710
<td>cubic bezier easing functions: http://easings.net/de</td>

src/defaults.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@ export default {
4444
*/
4545
infinite: false,
4646

47+
/**
48+
* the slide index to show when the slider is initialized.
49+
* @initialIndex {number}
50+
*/
51+
initialIndex: 0,
52+
4753
/**
4854
* class name for slider frame
4955
* @classNameFrame {string}

src/lory.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -243,9 +243,11 @@ export function lory (slider, opts) {
243243
classNamePrevCtrl,
244244
classNameNextCtrl,
245245
enableMouseEvents,
246-
classNameActiveSlide
246+
classNameActiveSlide,
247+
initialIndex
247248
} = options;
248249

250+
index = initialIndex;
249251
frame = slider.getElementsByClassName(classNameFrame)[0];
250252
slideContainer = frame.getElementsByClassName(classNameSlideContainer)[0];
251253
prevCtrl = slider.getElementsByClassName(classNamePrevCtrl)[0];
@@ -298,7 +300,7 @@ export function lory (slider, opts) {
298300
* reset function: called on resize
299301
*/
300302
function reset () {
301-
var {infinite, ease, rewindSpeed, rewindOnResize, classNameActiveSlide} = options;
303+
var {infinite, ease, rewindSpeed, rewindOnResize, classNameActiveSlide, initialIndex} = options;
302304

303305
slidesWidth = slideContainer.getBoundingClientRect()
304306
.width || slideContainer.offsetWidth;
@@ -312,7 +314,7 @@ export function lory (slider, opts) {
312314
}
313315

314316
if (rewindOnResize) {
315-
index = 0;
317+
index = initialIndex;
316318
} else {
317319
ease = null;
318320
rewindSpeed = 0;

0 commit comments

Comments
 (0)