Update onclick slide check to be more flexible.
This commit is contained in:
parent
54a2d33367
commit
12fc4747b5
|
@ -80,18 +80,29 @@
|
||||||
updateProgress(slide_number);
|
updateProgress(slide_number);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getContainingSlideId(el) {
|
||||||
|
var node = el;
|
||||||
|
while ('BODY' !== node.nodeName) {
|
||||||
|
if (-1 !== node.className.indexOf('slide')) {
|
||||||
|
return node.id;
|
||||||
|
} else {
|
||||||
|
node = node.parentNode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
function dispatchSingleSlideMode(e) {
|
function dispatchSingleSlideMode(e) {
|
||||||
if (
|
var slideId = getContainingSlideId(e.target);
|
||||||
'SECTION' === e.target.nodeName &&
|
|
||||||
-1 !== e.target.parentNode.parentNode.className.indexOf('slide') &&
|
if ('' !== slideId && isSlideListMode()) {
|
||||||
isSlideListMode()
|
|
||||||
) {
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
// NOTE: we should update hash to get things work properly
|
// NOTE: we should update hash to get things work properly
|
||||||
url.hash = '#' + e.target.parentNode.parentNode.id;
|
url.hash = '#' + slideId;
|
||||||
history.replaceState(null, null, url.pathname + '?full#' + e.target.parentNode.parentNode.id);
|
history.replaceState(null, null, url.pathname + '?full#' + slideId);
|
||||||
enterSingleSlideMode();
|
enterSingleSlideMode();
|
||||||
|
|
||||||
updateProgress(getCurrentSlideNumber());
|
updateProgress(getCurrentSlideNumber());
|
||||||
|
|
Loading…
Reference in New Issue