Hướng dẫn tạo tooltips tự động hiển thị khi hover

Xin chào mừng tất cả các bạn đã đến với blog của mình.Hôm nay mình xin chia sẻ đến các bạn cách để tạo tooltips đẹp cho blogspot
Demo

Các bước thực hiện:))

Bước 1:Thêm đoạn js bên dưới vào blog của bạn
! function (_0x41afx1) {    _0x41afx1.tooltipsy = function (_0x41afx2, _0x41afx3) {        this.options = _0x41afx3, this["$el"] = _0x41afx1(_0x41afx2), this.title = this["$el"].attr("title") || "", this["$el"].attr("title", ""), this.random = parseInt(1e4 * Math.random()), this.ready = !1, this.shown = !1, this.width = 0, this.height = 0, this.delaytimer = null, this["$el"].data("tooltipsy", this), this.init()    }, _0x41afx1.tooltipsy.prototype = {        init: function () {            var _0x41afx2, _0x41afx3 = this,                _0x41afx4 = _0x41afx3["$el"],                _0x41afx5 = _0x41afx4[0];            _0x41afx3.settings = _0x41afx2 = _0x41afx1.extend({}, _0x41afx3.defaults, _0x41afx3.options), _0x41afx2.delay = +_0x41afx2.delay, "function" == typeof _0x41afx2.content && _0x41afx3.readify(), _0x41afx2.showEvent === _0x41afx2.hideEvent && "click" === _0x41afx2.showEvent ? _0x41afx4.toggle(function (_0x41afx1) {                "click" === _0x41afx2.showEvent && "A" == _0x41afx5.tagName && _0x41afx1.preventDefault(), _0x41afx2.delay > 0 ? _0x41afx3.delaytimer = window.setTimeout(function () {                    _0x41afx3.show(_0x41afx1)                }, _0x41afx2.delay) : _0x41afx3.show(_0x41afx1)            }, function (_0x41afx1) {                "click" === _0x41afx2.showEvent && "A" == _0x41afx5.tagName && _0x41afx1.preventDefault(), window.clearTimeout(_0x41afx3.delaytimer), _0x41afx3.delaytimer = null, _0x41afx3.hide(_0x41afx1)            }) : _0x41afx4.bind(_0x41afx2.showEvent, function (_0x41afx1) {                "click" === _0x41afx2.showEvent && "A" == _0x41afx5.tagName && _0x41afx1.preventDefault(), _0x41afx3.delaytimer = window.setTimeout(function () {                    _0x41afx3.show(_0x41afx1)                }, _0x41afx2.delay || 0)            }).bind(_0x41afx2.hideEvent, function (_0x41afx1) {                "click" === _0x41afx2.showEvent && "A" == _0x41afx5.tagName && _0x41afx1.preventDefault(), window.clearTimeout(_0x41afx3.delaytimer), _0x41afx3.delaytimer = null, _0x41afx3.hide(_0x41afx1)            })        },        show: function (_0x41afx2) {            !1 === this.ready && this.readify();            var _0x41afx3 = this,                _0x41afx4 = _0x41afx3.settings,                _0x41afx5 = _0x41afx3["$tipsy"],                _0x41afx6 = _0x41afx3["$el"],                _0x41afx7 = _0x41afx6[0],                _0x41afx8 = _0x41afx3.offset(_0x41afx7);            if (!1 === _0x41afx3.shown && (function (_0x41afx1) {                    var _0x41afx2, _0x41afx3 = 0;                    for (_0x41afx2 in _0x41afx1) {                        _0x41afx1.hasOwnProperty(_0x41afx2) && _0x41afx3++                    };                    return _0x41afx3                }(_0x41afx4.css) > 0 && _0x41afx3["$tip"].css(_0x41afx4.css), _0x41afx3.width = _0x41afx5.outerWidth(), _0x41afx3.height = _0x41afx5.outerHeight()), "cursor" === _0x41afx4.alignTo && _0x41afx2) {                if ((_0x41afx9 = [_0x41afx2.clientX + _0x41afx4.offset[0], _0x41afx2.clientY + _0x41afx4.offset[1]])[0] + _0x41afx3.width > _0x41afx1(window).width()) {                    _0x41afx9[1], _0x41afx9[0]                } else {                    _0x41afx9[1], _0x41afx9[0]                }            } else {                var _0x41afx9 = [_0x41afx4.offset[0] < 0 ? _0x41afx8.left - Math.abs(_0x41afx4.offset[0]) - _0x41afx3.width : 0 === _0x41afx4.offset[0] ? _0x41afx8.left - (_0x41afx3.width - _0x41afx6.outerWidth()) / 2 : _0x41afx8.left + _0x41afx6.outerWidth() + _0x41afx4.offset[0], _0x41afx4.offset[1] < 0 ? _0x41afx8.top - Math.abs(_0x41afx4.offset[1]) - _0x41afx3.height : 0 === _0x41afx4.offset[1] ? _0x41afx8.top - (_0x41afx3.height - _0x41afx3["$el"].outerHeight()) / 2 : _0x41afx8.top + _0x41afx3["$el"].outerHeight() + _0x41afx4.offset[1]]            };            _0x41afx5.css({                top: _0x41afx9[1] + "px",                left: _0x41afx9[0] + "px"            }), _0x41afx3.settings.show(_0x41afx2, _0x41afx5.stop(!0, !0))        },        hide: function (_0x41afx1) {            var _0x41afx2 = this;            !1 !== _0x41afx2.ready && (_0x41afx1 && _0x41afx1.relatedTarget === _0x41afx2["$tip"][0] ? _0x41afx2["$tip"].bind("mouseleave", function (_0x41afx1) {                _0x41afx1.relatedTarget !== _0x41afx2["$el"][0] && _0x41afx2.settings.hide(_0x41afx1, _0x41afx2["$tipsy"].stop(!0, !0))            }) : _0x41afx2.settings.hide(_0x41afx1, _0x41afx2["$tipsy"].stop(!0, !0)))        },        readify: function () {            this.ready = !0, this["$tipsy"] = _0x41afx1("<div id=\"tooltipsy" + this.random + "\" style=\"position:fixed;z-index:2147483647;display:none\">").appendTo("body"), this["$tip"] = _0x41afx1("<div class=\"" + this.settings.className + "\">").appendTo(this.$tipsy), this["$tip"].data("rootel", this.$el);            var _0x41afx2 = this["$el"],                _0x41afx3 = this["$tip"];            this["$tip"].html("" != this.settings.content ? "string" == typeof this.settings.content ? this.settings.content : this.settings.content(_0x41afx2, _0x41afx3) : this.title)        },        offset: function (_0x41afx1) {            return this["$el"][0].getBoundingClientRect()        },        destroy: function () {            this["$tipsy"] && (this["$tipsy"].remove(), _0x41afx1.removeData(this.$el, "tooltipsy"))        },        update: function () {            this.title = this["$el"].attr("title"), this["$tipsy"] && this["$tipsy"].remove(), this.ready = !1        },        defaults: {            alignTo: "element",            offset: [0, -1],            content: "",            show: function (_0x41afx1, _0x41afx2) {                _0x41afx2.fadeIn()            },            hide: function (_0x41afx1, _0x41afx2) {                _0x41afx2.fadeOut()            },            css: {},            className: "tooltipsy",            delay: 0,            showEvent: "mouseenter",            hideEvent: "mouseleave"        }    }, _0x41afx1.fn.tooltipsy = function (_0x41afx2) {        return this.each(function () {            new _0x41afx1.tooltipsy(this, _0x41afx2)        })    }}(jQuery),function (_0x41afx1) {    _0x41afx1.tooltipsy2 = function (_0x41afx2, _0x41afx3) {        this.options = _0x41afx3, this["$el"] = _0x41afx1(_0x41afx2), this.title = this["$el"].attr("title") || "", this["$el"].attr("title", ""), this.random = parseInt(1e4 * Math.random()), this.ready = !1, this.shown = !1, this.width = 0, this.height = 0, this.delaytimer = null, this["$el"].data("tooltipsy2", this), this.init()    }, _0x41afx1.tooltipsy2.prototype = {        init: function () {            var _0x41afx2, _0x41afx3 = this,                _0x41afx4 = _0x41afx3["$el"],                _0x41afx5 = _0x41afx4[0];            _0x41afx3.settings = _0x41afx2 = _0x41afx1.extend({}, _0x41afx3.defaults, _0x41afx3.options), _0x41afx2.delay = +_0x41afx2.delay, "function" == typeof _0x41afx2.content && _0x41afx3.readify(), _0x41afx2.showEvent === _0x41afx2.hideEvent && "click" === _0x41afx2.showEvent ? _0x41afx4.toggle(function (_0x41afx1) {                "click" === _0x41afx2.showEvent && "A" == _0x41afx5.tagName && _0x41afx1.preventDefault(), _0x41afx2.delay > 0 ? _0x41afx3.delaytimer = window.setTimeout(function () {                    _0x41afx3.show(_0x41afx1)                }, _0x41afx2.delay) : _0x41afx3.show(_0x41afx1)            }, function (_0x41afx1) {                "click" === _0x41afx2.showEvent && "A" == _0x41afx5.tagName && _0x41afx1.preventDefault(), window.clearTimeout(_0x41afx3.delaytimer), _0x41afx3.delaytimer = null, _0x41afx3.hide(_0x41afx1)            }) : _0x41afx4.bind(_0x41afx2.showEvent, function (_0x41afx1) {                "click" === _0x41afx2.showEvent && "A" == _0x41afx5.tagName && _0x41afx1.preventDefault(), _0x41afx3.delaytimer = window.setTimeout(function () {                    _0x41afx3.show(_0x41afx1)                }, _0x41afx2.delay || 0)            }).bind(_0x41afx2.hideEvent, function (_0x41afx1) {                "click" === _0x41afx2.showEvent && "A" == _0x41afx5.tagName && _0x41afx1.preventDefault(), window.clearTimeout(_0x41afx3.delaytimer), _0x41afx3.delaytimer = null, _0x41afx3.hide(_0x41afx1)            })        },        show: function (_0x41afx2) {            !1 === this.ready && this.readify();            var _0x41afx3 = this,                _0x41afx4 = _0x41afx3.settings,                _0x41afx5 = _0x41afx3["$tipsy"],                _0x41afx6 = _0x41afx3["$el"],                _0x41afx7 = _0x41afx6[0],                _0x41afx8 = _0x41afx3.offset(_0x41afx7);            if (!1 === _0x41afx3.shown && (function (_0x41afx1) {                    var _0x41afx2, _0x41afx3 = 0;                    for (_0x41afx2 in _0x41afx1) {                        _0x41afx1.hasOwnProperty(_0x41afx2) && _0x41afx3++                    };                    return _0x41afx3                }(_0x41afx4.css) > 0 && _0x41afx3["$tip"].css(_0x41afx4.css), _0x41afx3.width = _0x41afx5.outerWidth(), _0x41afx3.height = _0x41afx5.outerHeight()), "cursor" === _0x41afx4.alignTo && _0x41afx2) {                if ((_0x41afx9 = [_0x41afx2.clientX + _0x41afx4.offset[0], _0x41afx2.clientY + _0x41afx4.offset[1]])[0] + _0x41afx3.width > _0x41afx1(window).width()) {                    _0x41afx9[1], _0x41afx9[0]                } else {                    _0x41afx9[1], _0x41afx9[0]                }            } else {                var _0x41afx9 = [_0x41afx4.offset[0] < 0 ? _0x41afx8.left - Math.abs(_0x41afx4.offset[0]) - _0x41afx3.width : 0 === _0x41afx4.offset[0] ? _0x41afx8.left - (_0x41afx3.width - _0x41afx6.outerWidth()) / 2 : _0x41afx8.left + _0x41afx6.outerWidth() + _0x41afx4.offset[0], _0x41afx4.offset[1] < 0 ? _0x41afx8.top - Math.abs(_0x41afx4.offset[1]) - _0x41afx3.height : 0 === _0x41afx4.offset[1] ? _0x41afx8.top - (_0x41afx3.height - _0x41afx3["$el"].outerHeight()) / 2 : _0x41afx8.top + _0x41afx3["$el"].outerHeight() + _0x41afx4.offset[1]]            };            _0x41afx5.css({                top: _0x41afx9[1] + "px",                left: _0x41afx9[0] + "px"            }), _0x41afx3.settings.show(_0x41afx2, _0x41afx5.stop(!0, !0))        },        hide: function (_0x41afx1) {            var _0x41afx2 = this;            !1 !== _0x41afx2.ready && (_0x41afx1 && _0x41afx1.relatedTarget === _0x41afx2["$tip"][0] ? _0x41afx2["$tip"].bind("mouseleave", function (_0x41afx1) {                _0x41afx1.relatedTarget !== _0x41afx2["$el"][0] && _0x41afx2.settings.hide(_0x41afx1, _0x41afx2["$tipsy"].stop(!0, !0))            }) : _0x41afx2.settings.hide(_0x41afx1, _0x41afx2["$tipsy"].stop(!0, !0)))        },        readify: function () {            this.ready = !0, this["$tipsy"] = _0x41afx1("<div id=\"tooltipsy2" + this.random + "\" style=\"position:fixed;z-index:2147483647;display:none\">").appendTo("body"), this["$tip"] = _0x41afx1("<div class=\"" + this.settings.className + "\">").appendTo(this.$tipsy), this["$tip"].data("rootel", this.$el);            var _0x41afx2 = this["$el"],                _0x41afx3 = this["$tip"];            this["$tip"].html("" != this.settings.content ? "string" == typeof this.settings.content ? this.settings.content : this.settings.content(_0x41afx2, _0x41afx3) : this.title)        },        offset: function (_0x41afx1) {            return this["$el"][0].getBoundingClientRect()        },        destroy: function () {            this["$tipsy"] && (this["$tipsy"].remove(), _0x41afx1.removeData(this.$el, "tooltipsy2"))        },        update: function () {            this.title = this["$el"].attr("title"), this["$tipsy"] && this["$tipsy"].remove(), this.ready = !1        },        defaults: {            alignTo: "element",            offset: [0, -1],            content: "",            show: function (_0x41afx1, _0x41afx2) {                _0x41afx2.fadeIn()            },            hide: function (_0x41afx1, _0x41afx2) {                _0x41afx2.fadeOut()            },            css: {},            className: "tooltipsy2",            delay: 0,            showEvent: "mouseenter",            hideEvent: "mouseleave"        }    }, _0x41afx1.fn.tooltipsy2 = function (_0x41afx2) {        return this.each(function () {            new _0x41afx1.tooltipsy2(this, _0x41afx2)        })    }}(jQuery);$(".bsw-tl").tooltipsy({    offset: [0, 10],    show: function (_0x41afx2, _0x41afx1) {        _0x41afx1.css({            left: parseInt(_0x41afx1[0].style.left.replace(/[a-z]/g, "")),            display: "block"        }).animate({            left: parseInt(_0x41afx1[0].style.left.replace(/[a-z]/g, ""))        }, 0)    },    hide: function (_0x41afx2, _0x41afx1) {        _0x41afx1.hide()    }}), $(".bsw-tls").tooltipsy2({    offset: [10, 0],    show: function (_0x41afx2, _0x41afx1) {        _0x41afx1.css({            left: parseInt(_0x41afx1[0].style.left.replace(/[a-z]/g, "")),            display: "block"        }).animate({            left: parseInt(_0x41afx1[0].style.left.replace(/[a-z]/g, ""))        }, 0)    },    hide: function (_0x41afx2, _0x41afx1) {        _0x41afx1.hide()    }})
Bước 2:Thêm đoạn css bên dưới vào trong thẻ ]]></b:skin>
.tooltipsy,.tooltipsy2{ padding: 6px 12px; max-width: 300px; color: #fff; background-color: #333; box-shadow: 0 0 20px rgba(0,0,0,.1); border-radius: 4px; font-size:14px; line-height:1.35; position:relative; pointer-events: none; text-align: center }.tooltipsy:before {content: '';border: 8px solid #333;border-top: 6px solid transparent;border-left: 6px solid transparent;border-right: 6px solid transparent;top: -13px;position: absolute;left: 50%;z-index: 1;transform: translate(-50%,0);}.tooltipsy2:before{content: '';border: 6px solid transparent;border-top: 6px solid transparent;border-left: 6px solid transparent;border-right: 12px solid #333;top: 50%;position: absolute;left: -14px;z-index: 10;transform: translate(0,-50%);}
Vậy là đã hoàn thành rồi =))
Nếu muốn sử dụng bạn chỉ cần thêm class bsw-tl hoặc bsw-tls vào đó
#view-code:bsw

Không có nhận xét nào:

Đăng nhận xét