You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

132 lines
3.4 KiB

6 years ago
/*=========================================================================================
File Name: tooltip.js
Description: Tooltips are an updated version, which dont rely on images,
use CSS3 for animations, and data-attributes for local title storage.
----------------------------------------------------------------------------------------
Item Name: Modern Admin - Clean Bootstrap 4 Dashboard HTML Template
Version: 1.0
Author: Pixinvent
Author URL: hhttp://www.themeforest.net/user/pixinvent
==========================================================================================*/
(function(window, document, $) {
'use strict';
/******************/
// Tooltip events //
/******************/
// onShow event
$('#show-tooltip').tooltip({
title: 'Tooltip Show Event',
trigger: 'click',
placement: 'right'
}).on('show.bs.tooltip', function() {
alert('Show event fired.');
});
// onShown event
$('#shown-tooltip').tooltip({
title: 'Tooltip Shown Event',
trigger: 'click',
placement: 'top'
}).on('shown.bs.tooltip', function() {
alert('Shown event fired.');
});
// onHide event
$('#hide-tooltip').tooltip({
title: 'Tooltip Hide Event',
trigger: 'click',
placement: 'bottom'
}).on('hide.bs.tooltip', function() {
alert('Hide event fired.');
});
// onHidden event
$('#hidden-tooltip').tooltip({
title: 'Tooltip Hidden Event',
trigger: 'click',
placement: 'left'
}).on('hidden.bs.tooltip', function() {
alert('Hidden event fired.');
});
/*******************/
// Tooltip methods //
/*******************/
// Show method
$('#show-method').on('click', function() {
$(this).tooltip('show');
});
// Hide method
$('#hide-method').on('mouseenter', function() {
$(this).tooltip('show');
});
$('#hide-method').on('click', function() {
$(this).tooltip('hide');
});
// Toggle method
$('#toggle-method').on('click', function() {
$(this).tooltip('toggle');
});
// Dispose method
$('#dispose').on('click', function() {
$('#dispose-method').tooltip('dispose');
});
/* Trigger*/
$('.manual').on('click', function() {
$(this).tooltip('show');
});
$('.manual').on('mouseout', function() {
$(this).tooltip('hide');
});
/* Default template */
$(".template").on('click', function(){
console.log(
'<div class="tooltip" role="tooltip">' +
'<div class="tooltip-arrow"></div>' +
'<div class="tooltip-inner"></div>' +
'</div>'
);
});
// Custom Tooltip
$("[data-popup=tooltip-custom]").on('shown.bs.tooltip', function(){
var bg = "",
text = "",
bgClass = "",
textClass = "",
$this = $(this);
if($this.data("bg-color") !== undefined){
bg = $this.data("bg-color");
bgClass = "tooltip-bg-" +bg;
$('.tooltip').addClass(bgClass);
}
if($this.data("text-color") !== undefined){
text = $this.data("text-color");
textClass = "tooltip-text-" +text;
$('.tooltip').addClass(textClass);
}
});
$("[data-popup=tooltip-custom]").on('hidden.bs.tooltip', function(){
var bg = "",
text = "",
bgClass = "",
textClass = "",
$this = $(this);
if($this.data("bg-color") !== undefined){
bg = $this.data("bg-color");
bgClass = "tooltip-bg-" +bg;
$('.tooltip').removeClass(bgClass);
}
if($this.data("text-color") !== undefined){
text = $this.data("text-color");
textClass = "tooltip-text-" +text;
$('.tooltip').removeClass(textClass);
}
});
})(window, document, jQuery);