Advertisement
stixlink

toolTip

Nov 24th, 2014
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var ToolsTipStixController = function (fade_out, fade_in) {
  2.  
  3.     var self = this;
  4.     var container_block = 'div#content-tooltip-stix';
  5.     var selector_elem = '.tooltip-stix';
  6.     var wrap_text = 'div#content-tooltip-stix div#content-text';
  7.  
  8.     var elem = jQuery(container_block);
  9.     this.showHint = function () {
  10.         elem.fadeIn(fade_in);
  11.     };
  12.  
  13.     this.hideHint = function () {
  14.         elem.fadeOut(fade_out);
  15.     };
  16.  
  17.     this.calculateSize = function (wew, ev) {
  18.         var a1 = $.Deferred();
  19.         var select_elem = jQuery(wew);
  20.         var left_val = ev.pageX + 15;
  21.         var top_val = ev.pageY + 15;
  22.         var width_window = jQuery(window).width();
  23.         var max_width_val = width_window - left_val;
  24.  
  25.  
  26.         jQuery(wrap_text).html(jQuery(wew).attr('data-text'));
  27.         width_text_block = 0;
  28.  
  29.         width_text_block = jQuery(wrap_text).width();
  30.         if (left_val > width_window / 2 && width_text_block > max_width_val) {
  31.             left_val = left_val - jQuery(wrap_text).width() - 30;
  32.             max_width_val = width_window - (width_window - left_val);
  33.  
  34.         }
  35.         elem.css({top: top_val, left: left_val});
  36.         elem.css({'max-width': max_width_val});
  37.     };
  38.  
  39.     this.editText = function (element) {
  40.         jQuery(wrap_text).html(jQuery(element).attr('data-text'));
  41.     };
  42.  
  43.     this.addHandlers = function () {
  44.         var elemevent = jQuery(selector_elem);
  45.         elemevent.mouseenter(function (ev) {
  46.             if (elem.css('display') == 'none') {
  47.                 self.calculateSize(this, ev);
  48.                 self.editText(this);
  49.                 self.showHint();
  50.             }
  51.         });
  52.  
  53.         elemevent.mouseout(function (ev) {
  54.  
  55.             if (elem.css('display') == 'block') {
  56.                 self.calculateSize(this, ev);
  57.                 self.hideHint();
  58.             }
  59.         });
  60.  
  61.         elemevent.mousemove(function (ev) {
  62.             if (elem.css('display') != 'none') {
  63.                 self.calculateSize(this, ev);
  64.             }
  65.         });
  66.     };
  67.  
  68.     this.init = function () {
  69.  
  70.         self.addHandlers();
  71.     };
  72.     this.init();
  73. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement