detailTooltip.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. /**
  2. * [heroDetailTooltip 召唤师详情页英雄数据浮层]
  3. * @type {Object}
  4. */
  5. var heroDetailTooltip = {
  6. wrapper : "",
  7. /*浮层显示*/
  8. show : function(obj){
  9. // var pos = this.getPosition(obj);
  10. //this.setArrowPosition(obj);
  11. var posTooltips = this.setTooltipsPosition(obj);
  12. this.setArrowPosition( posTooltips );
  13. this.wrapper.css({
  14. top: posTooltips.top,
  15. left: posTooltips.left
  16. }).show();
  17. },
  18. /*浮层消失*/
  19. hide : function(){
  20. this.wrapper.hide();
  21. },
  22. /*浮层结构修改*/
  23. html : function(tpl){
  24. this.wrapper.html(tpl);
  25. },
  26. getPosition : function(opt){
  27. var obj = opt.handler,
  28. pos = obj.offset();
  29. return pos;
  30. },
  31. setArrowPosition: function(pos){
  32. var wrapper = this.wrapper,
  33. arrow = wrapper.find(".tooltips-arrow");
  34. if( pos.tem > 0 ){
  35. arrow.css({
  36. left: wrapper.innerWidth() / 2 - arrow.innerWidth() / 2 - 5
  37. });
  38. }
  39. else{
  40. arrow.css({
  41. left: wrapper.innerWidth() / 2 - arrow.innerWidth() / 2 - pos.tem - 5
  42. });
  43. }
  44. },
  45. setTooltipsPosition : function(obj){
  46. var pos = {};
  47. pos.top = obj.offset().top + obj.innerHeight() + 10,
  48. middleLine = $("body").width() - obj.offset().left - obj.innerWidth() / 2,
  49. halfTooltipWidth = this.wrapper.innerWidth() / 2;
  50. var temWidth = middleLine - halfTooltipWidth;
  51. pos.tem = temWidth;
  52. if( temWidth > 0 ){
  53. pos.left = obj.offset().left - this.wrapper.innerWidth() / 2 + obj.innerWidth() / 2;
  54. }
  55. else{
  56. pos.left = obj.offset().left - this.wrapper.innerWidth() / 2 + obj.innerWidth() / 2 + temWidth ;
  57. }
  58. return pos;
  59. },
  60. init : function(){
  61. var _this = this;
  62. this.wrapper = $("#heropage-hero-tooltips");
  63. }
  64. }
  65. var heroShareTooltip = {
  66. wrapper : "",
  67. /*浮层显示*/
  68. show : function(obj){
  69. // var pos = this.getPosition(obj);
  70. //this.setArrowPosition(obj);
  71. var posTooltips = this.setTooltipsPosition(obj);
  72. this.setArrowPosition( posTooltips );
  73. this.wrapper.css({
  74. top: posTooltips.top,
  75. left: posTooltips.left
  76. }).show();
  77. },
  78. /*浮层消失*/
  79. hide : function(){
  80. this.wrapper.hide();
  81. },
  82. /*浮层结构修改*/
  83. html : function(tpl){
  84. this.wrapper.html(tpl);
  85. },
  86. getPosition : function(opt){
  87. var obj = opt.handler,
  88. pos = obj.offset();
  89. return pos;
  90. },
  91. setArrowPosition: function(pos){
  92. var wrapper = this.wrapper,
  93. arrow = wrapper.find(".tooltips-arrow");
  94. if( pos.tem > 0 ){
  95. arrow.css({
  96. top: wrapper.innerHeight() / 2 - arrow.innerHeight() / 2 + 5
  97. });
  98. }
  99. else{
  100. arrow.css({
  101. top: wrapper.innerHeight() / 2 - arrow.innerHeight() / 2 - pos.tem + 5
  102. });
  103. }
  104. },
  105. setTooltipsPosition : function(obj){
  106. var pos = {};
  107. pos.left = obj.offset().left + obj.innerHeight() + 10,
  108. middleLine = $("body").height() - obj.offset().top - obj.innerHeight() / 2,
  109. halfTooltipWidth = this.wrapper.innerHeight() / 2;
  110. var temWidth = middleLine - halfTooltipWidth;
  111. pos.tem = temWidth;
  112. if( temWidth > 0 ){
  113. pos.top = obj.offset().top - this.wrapper.innerHeight() / 2 + obj.innerHeight() / 2;
  114. }
  115. else{
  116. pos.top = obj.offset().top - this.wrapper.innerHeight() / 2 + obj.innerHeight() / 2 + temWidth ;
  117. }
  118. return pos;
  119. },
  120. init : function(){
  121. var _this = this;
  122. this.wrapper = $("#heropage-hero-sharetips");
  123. }
  124. }