Skip to content

Commit 58c24d1

Browse files
fiveminuteargumentafshinm
authored andcommitted
Changes to tooltip buttons
Support for alternative text for 'skip' button on last step, and 'disabling' of prev/next buttons on first/last step
1 parent c442ad1 commit 58c24d1

File tree

2 files changed

+26
-3
lines changed

2 files changed

+26
-3
lines changed

intro.js

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
nextLabel: 'Next →',
3434
prevLabel: '← Back',
3535
skipLabel: 'Skip',
36+
doneLabel: 'Done',
3637
tooltipPosition: 'bottom'
3738
};
3839
}
@@ -264,7 +265,10 @@
264265
var oldHelperNumberLayer = oldHelperLayer.querySelector('.introjs-helperNumberLayer'),
265266
oldtooltipLayer = oldHelperLayer.querySelector('.introjs-tooltiptext'),
266267
oldArrowLayer = oldHelperLayer.querySelector('.introjs-arrow'),
267-
oldtooltipContainer = oldHelperLayer.querySelector('.introjs-tooltip');
268+
oldtooltipContainer = oldHelperLayer.querySelector('.introjs-tooltip'),
269+
skipTooltipButton = oldHelperLayer.querySelector('.introjs-skipbutton'),
270+
prevTooltipButton = oldHelperLayer.querySelector('.introjs-prevbutton'),
271+
nextTooltipButton = oldHelperLayer.querySelector('.introjs-nextbutton');
268272

269273
//hide the tooltip
270274
oldtooltipContainer.style.opacity = 0;
@@ -326,7 +330,6 @@
326330
_nextStep.call(self);
327331
};
328332

329-
nextTooltipButton.className = 'introjs-button introjs-nextbutton';
330333
nextTooltipButton.href = 'javascript:void(0);';
331334
nextTooltipButton.innerHTML = this._options.nextLabel;
332335

@@ -337,7 +340,6 @@
337340
_previousStep.call(self);
338341
};
339342

340-
prevTooltipButton.className = 'introjs-button introjs-prevbutton';
341343
prevTooltipButton.href = 'javascript:void(0);';
342344
prevTooltipButton.innerHTML = this._options.prevLabel;
343345

@@ -360,6 +362,20 @@
360362
_placeTooltip.call(self, targetElement, tooltipLayer, arrowLayer);
361363
}
362364

365+
if (this._currentStep == 0) {
366+
prevTooltipButton.className = 'introjs-button introjs-prevbutton introjs-disabled';
367+
nextTooltipButton.className = 'introjs-button introjs-nextbutton';
368+
skipTooltipButton.innerHTML = this._options.skipLabel
369+
} else if (this._introItems.length - 1 == this._currentStep) {
370+
skipTooltipButton.innerHTML = this._options.doneLabel
371+
prevTooltipButton.className = 'introjs-button introjs-prevbutton';
372+
nextTooltipButton.className = 'introjs-button introjs-nextbutton introjs-disabled';
373+
} else {
374+
prevTooltipButton.className = 'introjs-button introjs-prevbutton';
375+
nextTooltipButton.className = 'introjs-button introjs-nextbutton';
376+
skipTooltipButton.innerHTML = this._options.skipLabel
377+
}
378+
363379
//add target element position style
364380
targetElement.className += ' introjs-showElement';
365381

introjs.css

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,4 +187,11 @@
187187
-webkit-border-radius: 0 0.2em 0.2em 0;
188188
-moz-border-radius: 0 0.2em 0.2em 0;
189189
border-radius: 0 0.2em 0.2em 0;
190+
}
191+
192+
.introjs-disabled, .introjs-disabled:hover {
193+
color: #9a9a9a;
194+
border-color: #d4d4d4;
195+
box-shadow: none;
196+
cursor: default;
190197
}

0 commit comments

Comments
 (0)