मैंने ग्रेग्स के उत्तर पर आधारित एक और संस्करण बनाया लेकिन इसके बजाय प्लॉटलाइन के लिए, क्योंकि मुझे इसकी आवश्यकता थी। मुझे लगता है कि इसे आसानी से साजिश बैंड में भी अनुवादित किया जाएगा।
यह संस्करण भी घटनाओं के साथ काम करता है, लेकिन इसके बजाय किसी विशेष छिपी श्रृंखला पर निर्भर होने के बजाय एक और div प्रदर्शित करता है।
उदाहरण JSFiddle पर पाया जा सकता है।
तो टूलटिप चार्ट
<div id="tooltip" class="thetooltip">
<p id="tooltiptext" style="margin:0">default</p>
</div>
और के रूप में एक ही कंटेनर में जोड़ दिया जाता है जब एक कथानक एक घटना निकाल दिया जाता है जो एक संलग्न टूलटिप
var $tooltip = $('#tooltip');
$tooltip.hide();
var $text = $('#tooltiptext');
displayTooltip = function (text, left) {
$text.text(text);
$tooltip.show();
$tooltip.css('left', parseInt(left)+24 + 'px');
};
var timer;
hideTooltip = function (e) {
clearTimeout(timer);
timer = setTimeout(function() {
$tooltip.fadeOut();
}, 5000);
};
के साथ टूलटिप प्रदर्शित करता है से अधिक उपयोगकर्ता माउस रखता है
और फिर प्रत्येक प्लॉटलाइन को अतिरिक्त विकल्प, टूलटिपटेक्स्ट, और उपरोक्त div को प्रदर्शित करने के लिए ईवेंट के साथ परिभाषित किया गया है।
plotLines: [{
tooltipText: 'hello',
value: Date.UTC(2011, 2, 28, 0, 1, 1),
color: '#ff6666',
dashStyle: 'solid',
width: 3,
events: {
mouseover: function (e) {
displayTooltip(this.options.tooltipText, this.svgElem.d.split(' ')[1]);
},
mouseout: hideTooltip
}
}
tooltipText Highcharts एपीआई का हिस्सा नहीं है, लेकिन जब परिभाषित यह तत्व पर विकल्पों संपत्ति के माध्यम से उपलब्ध है।
.thetooltip {
border: 1px solid #2f7ed8;
background-color: #fff;
opacity: 0.8500000000000001;
padding: 4px 12px;
border-radius: 3px;
position: absolute;
top:100px;
box-shadow: 1px 1px 3px #666;
}
धन्यवाद इसके लिए एस! इस तरह से ऐसा करने के बारे में भी सोचा नहीं था! – Colin
@ कोलिन कृपया इस प्रश्न को स्वीकार करें यदि यह आपके प्रश्न का समाधान करता है। – zykadelic