Я сделал слегка измененную гистограмму, чтобы добавить дополнительную панель поверх исходных данных, когда значение бара превышает целевое значение. Это просто, так что я могу изменить цвет панели на красный.D3 JS tooltips fire mouseover event
Теперь я пытаюсь запустить событие mouseover на исходном баре, когда красный загорается, но событие, похоже, не срабатывает должным образом. Если я изменил CSS на панели или попытаюсь прочитать данные из него, он отлично работает.
Mouseover событие следующим образом:
$('#chart-canvas').on('mouseover', '.over-target', function() {
var xBar = $(this).attr('x');
$('#chart-canvas').find('.bar:not(.over-target)[x="'+xBar+'"]').trigger('mouseover');
});
Вот JSfiddle того, что у меня есть http://jsfiddle.net/6LCdW/11/
Кроме того, есть ли способ я могу удалить перекрывающийся красную полосу и просто изменить цвет в верхней части синих баров, где это необходимо?
Спасибо за любую помощь
Это блестяще, спасибо Ларсу. Существуют ли какие-либо преимущества перед использованием цикла выше или градиента? – user1138966
IMHO код выше более интуитивно понятен, чем цикл/условие. Преимущество градиента состоит в том, что вам не нужен отдельный элемент, но он сделает код более беспорядочным. –
OK Я буду придерживаться того, что у меня есть. еще раз спасибо – user1138966