radiaSVG/radia.js

102 lines
2.6 KiB
JavaScript
Raw Normal View History

2011-06-24 16:11:32 +00:00
// var R;
2011-06-24 15:45:19 +00:00
2011-06-24 15:45:19 +00:00
$(function() {
2011-06-24 20:17:05 +00:00
$(window).resize(function() {
var svgAspect = 1220 / 560;
var windowWidth = $(window).width();
var svgWidth = windowWidth - 20;
var svgHeight = parseInt(svgWidth / svgAspect);
$('svg').attr("width", svgWidth);
$('svg').attr("height", svgHeight);
});
$(window).resize();
2011-06-24 15:45:19 +00:00
$.getJSON("radia.json", {}, function(data) {
2011-06-24 16:11:32 +00:00
var R = data;
var $texts = [];
$('g').each(function() {
// console.log("hi");
if (typeof($(this).attr("id")) === 'undefined') {
return;
}
$(this).click(function() {
console.log($(this).attr("id"));
});
$(this).mouseover(function() {
console.log($(this).attr("id"));
});
});
2011-06-25 23:14:43 +00:00
$('#heartspng').hover(function() {
$('#rajakani').css({"stroke": "#FF00FF"});
}, function() {
$('#rajakani').css({'stroke': '#000000'});
});
2011-06-24 15:45:19 +00:00
$('text').each(function() {
2011-06-25 20:13:33 +00:00
$(this).css({'cursor': 'pointer'});
2011-06-24 15:45:19 +00:00
var $tspan = $(this).children('tspan').eq(0);
var key = $.trim($tspan.text());
if (R.hasOwnProperty(key)) {
thisData = R[key];
var $this = $(this);
// $this.data("r", thisData);
$this.data("name", thisData.name);
$this.data("type", thisData.type);
$this.data("link", thisData.link);
$this.addClass(thisData.type);
2011-06-24 15:45:19 +00:00
$this.tooltip({
'delay': 0,
'showURL': false,
'bodyHandler': function() {
return $(this).data("name");
}
});
$texts.push($this);
2011-06-25 20:07:37 +00:00
var highlightShadow = '2px 2px 1px #666';
var highlightCSS = {
'fontWeight': 'bold',
'backgroundColor': '#ffff00'
}
var unhighlightCSS = {
'fontWeight': 'normal',
'backgroundColor': '#ffffff'
}
2011-06-24 15:45:19 +00:00
$this.mouseover(function(e) {
var typ = $(this).data("type");
for (var i=0; i<$texts.length;i++) {
var $t = $texts[i];
if ($t.data("type") == typ) {
2011-06-25 20:07:37 +00:00
$t.css(highlightCSS);
}
}
// $('.' + cls).addClass("highlighted");
// console.log($('.' + cls).length);
2011-06-24 15:45:19 +00:00
});
$this.mouseout(function(e) {
var typ = $(this).data("type");
for (var i=0; i<$texts.length;i++) {
var $t = $texts[i];
if ($t.data("type") == typ) {
2011-06-25 20:07:37 +00:00
$t.css(unhighlightCSS);
}
}
// $('.' + cls).removeClass("highlighted");
2011-06-24 15:45:19 +00:00
});
2011-06-24 15:45:19 +00:00
$this.click(function() {
2011-06-25 20:07:37 +00:00
window.open($(this).data("link"));
// console.log($(this).data("link"));
2011-06-24 15:45:19 +00:00
});
}
});
});
});