This is basically a continuation of this issue.
I am trying to add custom tool tips in jstree that show thumbnails of image files if they run on them. It should use the value of node a href to mark the thumbnail and insert it into the tooltip. Turning to the above post, I managed to get him to show some kind of arbitrary text hint, but this is obviously not what I want.
If I just added a hint to the img tag or the tag myself, I doubt it would be a problem. But I'm trying to create a custom hint for a link that looks like a bunch of jstree node.
For instance:
.on('hover_node.jstree',function(e,data){ var $node = $("#" + data.node.id); var url = $node.find('a').attr('href'); $("#" + data.node.id).prop('title', url); })
does a great job ... just giving me a text hint. But I really don't know where to go from here, for hours I hit my head against the wall, trying to find the Internet for sustainable solutions.
$(function () { $(document).tooltip(); $('#treeView').jstree({ 'core': { 'multiple': false, 'check_callback': true, 'data': { 'url': 'Temp/ajax.html', 'data': function (node) { return { 'id': node.id }; } } }, 'checkbox': { 'three_state': false, 'whole_node': false }, 'plugins': ["checkbox"] }).on('hover_node.jstree',function(e,data){ var $node = $("#" + data.node.id); var url = $node.find('a').attr('href'); $("#" + data.node.id).prop({ 'title': url, 'content': '<img src="' + url + '" alt=""/>' }); }) });
All I know is what I tried. I read all the API docs for the JQuery tool tip plug, but I'm still pretty new to this, and it has become obvious that I will not be able to brute force and ignorance to enter into a solution.
UPDATE
So, I revised the code as follows:
.on('hover_node.jstree', function (e, data) { var $node = $("#" + data.node.id); var url = $node.find('a').attr('href'); if (url != '#') { debugger //get the mouse position var x = $node.position().top + 20; var y = $node.position().left; $('.tooltip').css({ 'top': y + 'px', 'left': x + 'px' }); $('.tooltip').find('img').attr('src', url); $('.tooltip').fadeIn(300, 'easeOutSine'); } }).on('dehover_node.jstree', function () { $('.tooltip').fadeOut(200); });
and it works .... NOW I need to figure out how to get the MOUSE POINTER coordinates, not the node coordinates. Each image that I cursor down the list, the tooltip goes further and further to the right. I figure out a way to show this on the mouse pointer.
LAST UPDATE
//assigning the right properties to the right //variables would work wonders for my cause. var x = $node.position().left; var y = $node.position().top + 20;