Add init API method to help with shower/shower#124
This commit is contained in:
parent
e1b49a76b9
commit
e1443282ac
47
shower.js
47
shower.js
|
@ -7,8 +7,8 @@ window.shower = window.shower || (function(window, document, undefined) {
|
||||||
var shower = {},
|
var shower = {},
|
||||||
url = window.location,
|
url = window.location,
|
||||||
body = document.body,
|
body = document.body,
|
||||||
slides = document.querySelectorAll('.slide'),
|
slides = [],
|
||||||
progress = document.querySelector('div.progress div'),
|
progress = [],
|
||||||
slideList = [],
|
slideList = [],
|
||||||
timer,
|
timer,
|
||||||
isHistoryApiSupported = !!(window.history && history.pushState),
|
isHistoryApiSupported = !!(window.history && history.pushState),
|
||||||
|
@ -25,19 +25,36 @@ window.shower = window.shower || (function(window, document, undefined) {
|
||||||
return element.dataset ? element.dataset[name] : element.getAttribute('data-' + name);
|
return element.dataset ? element.dataset[name] : element.getAttribute('data-' + name);
|
||||||
};
|
};
|
||||||
|
|
||||||
for (i = 0; i < l; i++) {
|
/**
|
||||||
// Slide IDs are optional. In case of missing ID we set it to the
|
* Init
|
||||||
// slide number
|
* @param {String} slideSelector
|
||||||
if ( ! slides[i].id) {
|
* @param {String} progressBarSelector
|
||||||
slides[i].id = i + 1;
|
* @returns {Object} shower
|
||||||
|
*/
|
||||||
|
shower.init = function(slideSelector, progressSelector) {
|
||||||
|
slideSelector = slideSelector || '.slide';
|
||||||
|
progressSelector = progressSelector || 'div.progress div';
|
||||||
|
|
||||||
|
slides = document.querySelectorAll(slideSelector);
|
||||||
|
progress = document.querySelector(progressSelector);
|
||||||
|
slideList = [],
|
||||||
|
|
||||||
|
for (i = 0; i < l; i++) {
|
||||||
|
// Slide IDs are optional. In case of missing ID we set it to the
|
||||||
|
// slide number
|
||||||
|
if ( ! slides[i].id) {
|
||||||
|
slides[i].id = i + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
slideList.push({
|
||||||
|
id: slides[i].id,
|
||||||
|
hasInnerNavigation: null !== slides[i].querySelector('.next'),
|
||||||
|
hasTiming: (shower._getData(slides[i], 'timing') && shower._getData(slides[i], 'timing').indexOf(':') !== -1)
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
slideList.push({
|
};
|
||||||
id: slides[i].id,
|
|
||||||
hasInnerNavigation: null !== slides[i].querySelector('.next'),
|
|
||||||
hasTiming: (shower._getData(slides[i], 'timing') && shower._getData(slides[i], 'timing').indexOf(':') !== -1)
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get slide scale value.
|
* Get slide scale value.
|
||||||
|
@ -723,6 +740,8 @@ window.shower = window.shower || (function(window, document, undefined) {
|
||||||
}
|
}
|
||||||
}, false);
|
}, false);
|
||||||
|
|
||||||
|
shower.init();
|
||||||
|
|
||||||
return shower;
|
return shower;
|
||||||
|
|
||||||
})(this, this.document);
|
})(this, this.document);
|
||||||
|
|
Loading…
Reference in New Issue