[Pkg-javascript-commits] [d3-tip.js] 205/277: add documentation and examples for explicity targets

bhuvan krishna bhuvan-guest at moszumanska.debian.org
Thu Dec 8 06:57:31 UTC 2016


This is an automated email from the git hooks/post-receive script.

bhuvan-guest pushed a commit to branch master
in repository d3-tip.js.

commit b520932e2a0207f693f7625294f5484ba12cbab5
Author: Justin Palmer <justin at github.com>
Date:   Sat Dec 7 11:24:20 2013 -0800

    add documentation and examples for explicity targets
---
 docs/initializing-tooltips.md       |   2 +-
 docs/showing-and-hiding-tooltips.md |  13 +++-
 examples/explicit-target.html       | 145 ++++++++++++++++++++++++++++++++++++
 3 files changed, 158 insertions(+), 2 deletions(-)

diff --git a/docs/initializing-tooltips.md b/docs/initializing-tooltips.md
index a3c75d2..4e88ef9 100644
--- a/docs/initializing-tooltips.md
+++ b/docs/initializing-tooltips.md
@@ -24,4 +24,4 @@ var vis = d3.select(document.body)
   // Show and hide the tooltip
   .on('mouseover', tip.show)
   .on('mouseout', tip.hide)
-```
\ No newline at end of file
+```
diff --git a/docs/showing-and-hiding-tooltips.md b/docs/showing-and-hiding-tooltips.md
index 031f7f8..64fdee4 100644
--- a/docs/showing-and-hiding-tooltips.md
+++ b/docs/showing-and-hiding-tooltips.md
@@ -15,6 +15,17 @@ rect.on('mouseover', function(d) {
 })
 ```
 
+#### Explicit targets
+Sometimes you need to manually specify a target to act on.  For instance, maybe
+you want the tooltip to appear over a different element than the one that triggered
+a `mouseover` event.  You can specify an explicit target by passing an `SVGElement`
+as the last argument.
+
+``` javascript
+tip.show(data, target)
+```
+
+
 ### tip.hide
 Hide a tooltip
 
@@ -26,4 +37,4 @@ rect.on('mouseout', tip.hide)
 rect.on('mouseout', function(d) {
   tip.hide(d)
 })
-```
\ No newline at end of file
+```
diff --git a/examples/explicit-target.html b/examples/explicit-target.html
new file mode 100644
index 0000000..2c2b45c
--- /dev/null
+++ b/examples/explicit-target.html
@@ -0,0 +1,145 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <title>d3.tip.js - Tooltips for D3</title>
+  <meta charset="utf-8" />
+  <title>Explicit Target</title>
+  <script type="text/javascript" src="../bower_components/d3/d3.js"></script>
+  <script type="text/javascript" src="../index.js"></script>
+  <script type="text/javascript">
+    data = [{"total":225,"days":[12,51,60,26,38,31,7]},{"total":279,"days":[42,33,34,72,61,12,25]},{"total":212,"days":[12,59,24,70,36,5,6]},{"total":335,"days":[17,43,38,58,67,72,40]},{"total":329,"days":[40,53,62,48,38,36,52]},{"total":234,"days":[15,25,41,66,35,37,15]},{"total":175,"days":[2,40,23,40,23,34,13]},{"total":308,"days":[20,22,63,55,51,66,31]},{"total":401,"days":[20,64,42,62,88,79,46]},{"total":214,"days":[24,27,25,48,38,28,24]},{"total":332,"days":[26,43,20,109,74,29,31]} [...]
+  </script>
+  <style type="text/css">
+  body {
+    padding: 40px;
+    font-family: "Helvetica Neue", Helvetica, sans-serif;
+    font-size: 12px;
+    height: 1000px;
+  }
+
+  .d3-tip {
+    line-height: 1;
+    font-weight: bold;
+    padding: 12px;
+    background: rgba(0, 0, 0, 0.8);
+    color: #fff;
+    border-radius: 2px;
+  }
+
+  .d3-tip:after {
+    box-sizing: border-box;
+    display: inline;
+    font-size: 10px;
+    width: 100%;
+    line-height: 1;
+    color: rgba(0, 0, 0, 0.8);
+    content: "\25BC";
+    position: absolute;
+    text-align: center;
+  }
+
+  .d3-tip.n:after {
+    margin: -5px 0 0 0;
+    top: 100%;
+    left: 0;
+  }
+
+  .d3-tip span {
+    color: #ff00c7;
+  }
+
+  .domain {
+    display: none;
+  }
+
+  .axis line {
+    stroke-width: 1px;
+    stroke: #eee;
+    shape-rendering: crispedges;
+  }
+
+  .axis text {
+    fill: #888;
+  }
+
+  rect {
+    fill: #339cff;
+    fill-opacity: 0.7;
+  }
+
+  rect:hover {
+    fill-opacity: 1;
+  }
+
+  .legend {
+    fill: none;
+    stroke: #ccc;
+  }
+  </style>
+</head>
+<body>
+  <div id="graph">
+
+  </div>
+  <script type="text/javascript">
+    var tip = d3.tip()
+      .attr('class', 'd3-tip')
+      .html(function(d) { return '<span>' + d.total + '</span>' + ' entries' })
+      .offset([-12, 0])
+
+    var w = 800,
+        h = 300,
+        padt = 40, padr = 20, padb = 60, padl = 30,
+        x  = d3.scale.ordinal().rangeRoundBands([0, w - padl - padr], 0.1),
+        y  = d3.scale.linear().range([h, 0]),
+        yAxis = d3.svg.axis().scale(y).orient('left').tickSize(-w + padl + padr),
+        xAxis = d3.svg.axis().scale(x).orient('bottom')
+
+    vis = d3.select('#graph')
+      .append('svg')
+      .attr('width', w)
+      .attr('height', h + padt + padb)
+    .append('g')
+      .attr('transform', 'translate(' + padl + ',' + padt + ')')
+
+    var max = d3.max(data, function(d) { return d.total })
+    x.domain(d3.range(data.length))
+    y.domain([0, max])
+
+    vis.call(tip)
+    vis.append("g")
+      .attr("class", "y axis")
+      .call(yAxis)
+
+    legend = vis.append('rect')
+      .attr('width', 50)
+      .attr('height', 25)
+      .attr('x', 0)
+      .attr('y', 0)
+      .attr('class', 'legend')
+
+    vis.append("g")
+      .attr("class", "x axis")
+      .attr('transform', 'translate(0,' + h + ')')
+      .call(xAxis)
+      .selectAll('.x.axis g')
+        .style('display', function (d, i) { return i % 3 != 0  ? 'none' : 'block' })
+
+    var bars = vis.selectAll('g.bar')
+      .data(data)
+    .enter().append('g')
+      .attr('class', 'bar')
+      .attr('transform', function (d, i) { return "translate(" + x(i) + ", 0)" })
+
+    bars.append('rect')
+      .attr('width', function() { return x.rangeBand() })
+      .attr('height', function(d) { return h - y(d.total) })
+      .attr('y', function(d) { return y(d.total) })
+      .on('mouseout', tip.hide)
+      .on('mouseover', function(d) {
+        tip.show(d, legend.node())
+      })
+
+  </script>
+</body>
+</html>

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/d3-tip.js.git



More information about the Pkg-javascript-commits mailing list