TagSphere

Developer
Size
3,539 Kb
Views
14,168

How do I make an tagsphere?

What is a tagsphere? How do you make a tagsphere? This script and codes were developed by Olivier C on 19 November 2022, Saturday.

TagSphere Previews

TagSphere - Script Codes HTML Codes

<!DOCTYPE html>
<html >
<head> <meta charset="UTF-8"> <title>TagSphere</title> <link rel="stylesheet" href="css/style.css">
</head>
<body> <div id="tagsphere"> <ul> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> <li><a href="#"><img src="http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png" width="128" height="128" alt="image de navigation"/><span>Description du lien</span></a></li> </ul>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>	$(document).ready(function(){	$('#tagsphere').tagSphere({	height:500,	width:500,
speed: 5,	slower:0.65,	radius:100,	timer:50	});	});
</script> <script src="js/index.js"></script>
</body>
</html>

TagSphere - Script Codes CSS Codes

body { display: flex; background: #333; min-height: 100vh;
}
a { font: 400 1.2em Helvetica, Sans-Serif; color: Orange; text-decoration: none;
}
a:hover,
a:focus,
a:active { color: #fff;
}
#tagsphere { margin: auto;
}

TagSphere - Script Codes JS Codes

// jquery.tagSphere.js
(function(){ var tags; var defaults = { height: 400, width: 400, radius: 150, speed: 3, slower: 0.99, timer: 5, fontMultiplier: 15, tagCSSOver: { border: 'none', color: 'blue' }, tagCSSOut: { border: '', color: '' } } var forCalcs = { halfHeight: null, halfWidth: null, hwratio: null, dtr: null, diametr: null, speedX: null, speedY: null, tLength: null } var curState = { mouseOver: null, lastFy: null, lastFx: null, sy: null, cy: null, sx: null, cx: null, mouseX: null, mouseY: null } var options = {}; jQuery.fn.tagSphere = function(opt){ options = jQuery.extend(defaults, opt); initContainer(this); initTags(this); initCalcs(); deployTags(); setInterval(updateTags, options.timer); return this; }; function initCalcs(){ forCalcs.halfHeight = options.height / 2; forCalcs.halfWidth = options.width / 2; forCalcs.speedX = options.speed / forCalcs.halfWidth; forCalcs.speedY = options.speed / forCalcs.halfHeight; forCalcs.dtr = Math.PI / 180; forCalcs.diametr = options.radius * 2; forCalcs.hwratio = options.height / options.width; forCalcs.whratio = options.width / options.height; forCalcs.tLength = tags.length - 1; curState.mouseOver = false; curState.lastFx = options.speed; curState.lastFy = options.speed; } function initContainer(tagCont){ tagCont.height(options.height); tagCont.width(options.width); tagCont.css({ 'overflow': 'hidden', 'position': 'relative' }); tagCont.mousemove(function(e){ curState.mouseX = e.pageX - this.offsetLeft; curState.mouseY = e.pageY - this.offsetTop; }); tagCont.hover(function(){ curState.mouseOver = true; }, function(){ curState.mouseOver = false; }); } function initTags(tagCont){ tags = tagCont.children('ul').children(); tags.css({ 'position': 'absolute', 'list-style-type': 'none', 'list-style-position': 'outside', 'list-style-image': 'none' }); for (var i = 0; i < tags.length; i++) { var jTag = jQuery(tags[i]); tags[i] = jTag; jTag.hover(function(){ jQuery(this).css(options.tagCSSOver); }, function(){ jQuery(this).css(options.tagCSSOut); }) } } function deployTags(){ var phi = 0; var theta = 0; var max = forCalcs.tLength + 1; var i = 0; while (i++ < max) { phi = Math.acos(-1 + (2 * i - 1) / max); theta = Math.sqrt(max * Math.PI) * phi; tags[i - 1].cx = options.radius * Math.cos(theta) * Math.sin(phi); tags[i - 1].cy = options.radius * Math.sin(theta) * Math.sin(phi); tags[i - 1].cz = options.radius * Math.cos(phi); tags[i - 1].h = jQuery(tags[i - 1]).height() / 4; tags[i - 1].w = jQuery(tags[i - 1]).width() / 4; } } function calcRotation(fy, fx){ curState.sy = Math.sin(fy * forCalcs.dtr); curState.cy = Math.cos(fy * forCalcs.dtr); curState.sx = Math.sin(fx * forCalcs.dtr); curState.cx = Math.cos(fx * forCalcs.dtr); } function updateTags(){ var fy; var fx; if (curState.mouseOver) { fy = options.speed - forCalcs.speedY * curState.mouseY; fx = forCalcs.speedX * curState.mouseX - options.speed; } else { fy = curState.lastFy * options.slower; fx = curState.lastFx * options.slower; } curState.lastFy = fy; curState.lastFx = fx; if (Math.abs(fy) > 0.01 || Math.abs(fx) > 0.01) { calcRotation(fy, fx); j = -1; while (j++ < forCalcs.tLength) { rx1 = tags[j].cx; ry1 = tags[j].cy * curState.cy + tags[j].cz * -curState.sy; rz1 = tags[j].cy * curState.sy + tags[j].cz * curState.cy; tags[j].cx = rx1 * curState.cx + rz1 * curState.sx; tags[j].cy = tags[j].cy * curState.cy + tags[j].cz * -curState.sy; tags[j].cz = rx1 * -curState.sx + rz1 * curState.cx; var per = forCalcs.diametr / (forCalcs.diametr + tags[j].cz); tags[j].x = tags[j].cx * per; tags[j].y = tags[j].cy * per; tags[j].alpha = per / 2; tags[j].css({ 'left': forCalcs.whratio * (tags[j].x - tags[j].w * per) + forCalcs.halfWidth, 'top': forCalcs.hwratio * (tags[j].y - tags[j].h * per) + forCalcs.halfHeight, 'opacity': tags[j].alpha, 'font-size': options.fontMultiplier * tags[j].alpha + 'px', 'z-index': Math.round(-tags[j].cz) }); } } }
})()
TagSphere - Script Codes
TagSphere - Script Codes
Home Page Home
Developer Olivier C
Username olivier-c
Uploaded November 19, 2022
Rating 3
Size 3,539 Kb
Views 14,168
Do you need developer help for TagSphere?

Find the perfect freelance services for your business! Fiverr's mission is to change how the world works together. Fiverr connects businesses with freelancers offering digital services in 500+ categories. Find Developer!

Olivier C (olivier-c) Script Codes
Create amazing blog posts with AI!

Jasper is the AI Content Generator that helps you and your team break through creative blocks to create amazing, original content 10X faster. Discover all the ways the Jasper AI Content Platform can help streamline your creative workflows. Start For Free!