2015-10-07 1 views
0

Я пытаюсь показать текст на mouseover по ссылкам, но я не вижу никакого текста. Я могу изменить цвет, как в приведенном ниже коде.Показать тексты на Mouseover по ссылкам

Любая помощь с подсказками инструмента также приветствуется, поскольку я тоже это пробовал.

Here is the code to the jsfiddle.

+0

http://jsfiddle.net/pria_3/70qy8ps6/6/ Ссылка на код –

+0

link.on ("наведении курсора мыши", функция() {d3.select (это). style ("stroke", "red"). text ("hello");}); –

+0

Вы должны включить ссылку на код в вопросе. – colidyre

ответ

1

Попробуйте этот путь.

link.on('mouseover', function(d, i) { 
    d3.select(this).style("stroke", "red"); 
    if (!d3.select("#link-label-" + i).node()) { 
     svg.append("text") 
      .attr("id", "link-label-" + i) 
      .attr("font-family", "Arial, Helvetica, sans-serif") 
      .attr("x", function() { 
       if (d.target.x > d.source.x) { 
        return (d.source.x + (d.target.x - d.source.x)/2); 
       } else { 
        return (d.target.x + (d.source.x - d.target.x)/2); 
       } 
      }) 
      .attr("y", function() { 
       if (d.target.y > d.source.y) { 
        return (d.source.y + (d.target.y - d.source.y)/2); 
       } else { 
        return (d.target.y + (d.source.y - d.target.y)/2); 
       } 
      }) 
      .attr("fill", "Black") 
      .style("font", "normal 12px Arial") 
      .attr("dy", ".35em") 
      .text(function() { 
       return d.source.name + " - " + d.target.name; 
      }); 
    } 
}).on('mouseout', function(d, i) { 
    d3.select(this).style("stroke", d.target.group == 2?"black":"#9ecae1"); 
    d3.select("#link-label-" + i).remove(); 
}); 

Обновлено fiddle

+0

Большое спасибо. Он работает отлично. Но если я передаю d в текстовой функции, это дает мне ошибку, говорящую, что цель не определена. –

+0

.text (function (d) { var value = d.target.data.split (""); var result = parseInt (значение [0]); // Я хочу показать этот результат при наведении мыши –

+0

Работает .. Я получил ошибку, я не должен был проходить дважды, когда мы уже передаем функцию mouseover ... :) –

0

Поскольку ваши circle s уже привязаны к данным вы можете сделать что-то вроде этого

d3.select('circle') 
    .attr('title', function(d){ 
     return d.name; //or whatever 
    }); 

частное использование браузера по умолчанию подсказке в

+0

Нет Нет. Я хочу показать данные по ссылке mouseover. для круга я мог бы сделать. –

Смежные вопросы