@@ -80,7 +80,7 @@ if(typeof JSON!=='object'){JSON={}}(function(){'use strict';var rx_one=/^[\],:{}
8080 , slice = ArrayProto . slice
8181 , toString = ObjProto . toString
8282 , hasOwnProperty = ObjProto . hasOwnProperty
83- , LIB_VERSION = '1.7.1 ' ;
83+ , LIB_VERSION = '1.7.2 ' ;
8484
8585sd . lib_version = LIB_VERSION ;
8686
@@ -2560,13 +2560,13 @@ var heatmap_render = {
25602560
25612561 } ,
25622562 heatData :function ( data ) {
2563- var heat = [ 0.005 , 0.01 , 0.05 , 0.1 ] ;
2563+ var heat = [ 0.005 , 0.01 , 0.025 , 0. 05, 0.1 , 0.5 ] ;
25642564 for ( var i = 0 ; i < heat . length ; i ++ ) {
25652565 if ( data < heat [ i ] ) {
2566- return 4 - i ;
2566+ return i ;
25672567 }
25682568 }
2569- return 0 ;
2569+ return 8 ;
25702570 } ,
25712571 heatDataTitle : function ( data ) {
25722572 return ( '点击次数 ' + data . value_fix
@@ -2642,6 +2642,7 @@ var heatmap_render = {
26422642 bindEffect : function ( ) {
26432643 // 浮动层的内容的初始化
26442644 var mouseoverEvent = null ;
2645+ var target_is_on_float = false ;
26452646
26462647 var me = this ;
26472648 var str = '<div style="padding: 8px;"><div style="color: #757575">当前元素内容:</div><div style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">{{data_current_content}}</div></div><div style="background: rgba(0,0,0,0.1); height:1px;"></div><div style="padding: 8px;"><div>点击次数: {{value_fix}}</div><div title="点击次数/当前页面的浏览次数">点击率: {{data_click_percent}}</div><div title="点击次数/当前页面的点击总次数">点击占比: {{data_page_percent}}</div></div><div style="background: rgba(0,0,0,0.1); height:1px;"></div><div style="padding: 8px;"><div style="color: #757575">历史内容:</div><div style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">{{data_top_value}}</div></div><div style="background: rgba(0,0,0,0.1); height:1px;"></div><div style="padding: 6px 8px;"><a style="color:#2a90e2;text-decoration: none;" href="{{data_user_link}}" target="_blank">查看点击用户列表</a ></div>' ;
@@ -2680,6 +2681,16 @@ var heatmap_render = {
26802681 var eleBtnRight = document . getElementById ( 'sa_heat_float_right_box_right_btn' ) ;
26812682 var eleBtnLeft = document . getElementById ( 'sa_heat_float_right_box_left_btn' ) ;
26822683
2684+
2685+ _ . addEvent ( div , 'mouseleave' , function ( ) {
2686+ target_is_on_float = false ;
2687+ div . style . display = 'none' ;
2688+ } ) ;
2689+
2690+ _ . addEvent ( div , 'mouseenter' , function ( ) {
2691+ target_is_on_float = true ;
2692+ } ) ;
2693+
26832694 _ . addEvent ( eleSlideDown , 'mousedown' , function ( e ) {
26842695 if ( e . target . id === 'sa_heat_float_right_box_slidedown' ) {
26852696 _ . draggable ( div , e ) ;
@@ -2794,6 +2805,7 @@ var heatmap_render = {
27942805
27952806 // 绑定浮动层的显示
27962807 var timeEle = 600 ;
2808+
27972809 function showBoxDetailContent ( e ) {
27982810 mouseoverEvent = e ;
27992811 var target = e . target ;
@@ -2837,13 +2849,23 @@ var heatmap_render = {
28372849 if ( typeof className !== 'string' || ( ' ' + className + ' ' ) . indexOf ( ' sa-click-area ' ) === - 1 ) {
28382850 return false ;
28392851 }
2852+ target . onmouseleave = function ( ) {
2853+ setTimeout ( function ( ) {
2854+ if ( ! target_is_on_float ) {
2855+ target_is_on_float = false ;
2856+ div . style . display = 'none' ;
2857+ }
2858+ } , timeEle ) ;
2859+ }
2860+
28402861 showBoxDetail ( e ) ;
28412862
28422863 } ) ;
28432864
2865+
28442866 } ,
28452867 setCssStyle : function ( ) {
2846- var css = '.sa-heat-box-head-2017322{border-bottom:1px solid rgba(0,0,0,0.06);cursor:move;height:30px;background:#E1E1E1;color: #999;clear:both;}.sa-heat-box-effect-2017314{animation-duration:0.5s;animation-fill-mode:both;animation-iteration-count:1;animation-name:sa-heat-box-effect-2017314;}@keyframes sa-heat-box-effect-2017314{0%{opacity:0.6}100%{opacity:1}}.sa-click-area{position:relative;box-shadow:inset 0 0 0 2px #ffa500}.sa-click-area:before{content:"";width:100%;position:absolute;left:0;top:0;bottom:0}.sa-click-area.sa-click-area0:before{cursor:pointer;background:rgba(255,0,0,.5);box-shadow:inset 0 0 0 2px #f00}.sa-click-area.sa-click-area1:before{background:rgba(255,165,0,.5);box-shadow:inset 0 0 0 2px #ffa500}.sa-click-area.sa-click-area2:before{background:rgba(255,255,0,.5);box-shadow:inset 0 0 0 2px #ff0}.sa-click-area.sa-click-area3:before{background:rgba(64,224,208,.5);box-shadow:inset 0 0 0 2px #40e0d0}.sa-click-area.sa-click-area4:before{box-shadow:inset 0 0 0 2px #00f;background:rgba(0,0,255,.5)}.sa-click-area.sa-click-area0:hover::before{background:rgba(255,0,0,0.8) none repeat scroll 0 0}.sa-click-area.sa-click-area1:hover::before{background:rgba(255,165,0,0.8) none repeat scroll 0 0}.sa-click-area.sa-click-area2:hover::before{background:rgba(255,255,0,0.8) none repeat scroll 0 0}.sa-click-area.sa-click-area3:hover::before{background:rgba(64,224,208,0.8) none repeat scroll 0 0}.sa-click-area.sa-click-area4:hover::before{background:rgba(0,0,255,0.8) none repeat scroll 0 0}.sa-click-area.sa-click-area0:hover{box-shadow:0 0 0 3px #f00 inset}.sa-click-area.sa-click-area1:hover{box-shadow:0 0 0 3px #ffa500 inset}.sa-click-area.sa-click-area2:hover{box-shadow:0 0 0 3px #ff0 inset}.sa-click-area.sa-click-area3:hover{box-shadow:0 0 0 3px #40e0d0 inset}.sa-click-area.sa-click-area4:hover{box-shadow:0 0 0 3px #00f inset}.sa-click-area .sa-click-area:before{background:none!important}.sa-click-area:after{height:14px;line-height:14px;margin:-7px 0 0 -28px;width:56px;color:#fff;content:attr(data-click);font-size:14px;font-weight:bold;left:50%;line-height:1em;position:absolute;text-align:center;text-indent:0;text-shadow:1px 1px 2px #000;top:50%;z-index:10}' ;
2868+ var css = '.sa-heat-box-head-2017322{border-bottom:1px solid rgba(0,0,0,.06);cursor:move;height:30px;background:#E1E1E1;color:#999;clear:both}.sa-heat-box-effect-2017314{animation-duration:.5s;animation-fill-mode:both;animation-iteration-count:1;animation-name:sa-heat-box-effect-2017314}@keyframes sa-heat-box-effect-2017314{0%{opacity:.6}100%{opacity:1}}.sa-click-area{position:relative}.sa-click-area:before{cursor:pointer;content:"";width:100%;position:absolute;left:0;top:0;bottom:0}.sa-click-area.sa-click-area0:before{background:rgba(254,254,155,.75);box-shadow:0 0 0 2px rgba(254,254,155,1) inset}.sa-click-area.sa-click-area0:hover::before{background:rgba(254,254,155,.85)}.sa-click-area.sa-click-area1:before{background:rgba(255,236,142,.75);box-shadow:0 0 0 2px rgba(255,236,142,1) inset}.sa-click-area.sa-click-area1:hover::before{background:rgba(255,236,142,.85)}.sa-click-area.sa-click-area2:before{background:rgba(255,188,113,.75);box-shadow:0 0 0 2px rgba(255,188,113,1) inset}.sa-click-area.sa-click-area2:hover::before{background:rgba(255,188,113,.85)}.sa-click-area.sa-click-area3:before{background:rgba(255,120,82,.75);box-shadow:0 0 0 2px rgba(255,120,82,1) inset}.sa-click-area.sa-click-area3:hover::before{background:rgba(255,120,82,.85)}.sa-click-area.sa-click-area4:before{background:rgba(255,65,90,.75);box-shadow:0 0 0 2px rgba(255,65,90,1) inset}.sa-click-area.sa-click-area4:hover::before{background:rgba(255,65,90,.85)}.sa-click-area.sa-click-area5:before{background:rgba(199,0,18,.75);box-shadow:0 0 0 2px rgba(199,0,18,1) inset}.sa-click-area.sa-click-area5:hover::before{background:rgba(199,0,18,.85)}.sa-click-area.sa-click-area6:before{background:rgba(127,0,79,.75);box-shadow:0 0 0 3px rgba(127,0,79,1) inset}.sa-click-area.sa-click-area6:hover::before{background:rgba(127,0,79,.85)}.sa-click-area .sa-click-area:before{background:0 0!important}.sa-click-area:after{height:14px;line-height:14px;margin:-7px 0 0 -28px;width:56px;color:#fff;content:attr(data-click);font-size:14px;font-weight:700;left:50%;line-height:1em;position:absolute;text-align:center;text-indent:0;text-shadow:1px 1px 2px #000;top:50%;z-index:10}' ;
28472869
28482870 var style = document . createElement ( 'style' ) ;
28492871 style . type = 'text/css' ;
@@ -2876,11 +2898,11 @@ var heatmap = {
28762898 return - 1 ;
28772899 } ,
28782900 selector :function ( el ) {
2879- var classname = _ . trim ( el . className . baseVal ? el . className . baseVal : el . className ) ;
2901+ // var classname = _.trim(el.className.baseVal ? el.className.baseVal : el.className);
28802902 var i = el . parentNode && 9 == el . parentNode . nodeType ? - 1 : this . getDomIndex ( el ) ;
28812903 return el . tagName . toLowerCase ( )
28822904 + ( el . id ? '#' + el . id : '' )
2883- + ( classname ? classname . replace ( / ^ | + / g, '.' ) : '' )
2905+ // + (classname ? classname.replace(/^| +/g, '.') : '')
28842906 + ( ~ i ? ':nth-child(' + ( i + 1 ) + ')' : '' ) ;
28852907 } ,
28862908 getDomSelector : function ( el , arr ) {
0 commit comments