TagSphere
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 - 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) }); } } }
})()
Developer | Olivier C |
Username | olivier-c |
Uploaded | November 19, 2022 |
Rating | 3 |
Size | 3,539 Kb |
Views | 14,168 |
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!
Name | Size |
Mosaic cubes | 4,488 Kb |
Flex layout | 2,253 Kb |
Organizational Chart | 3,077 Kb |
Backgrounds... | 2,873 Kb |
Number Lists | 2,486 Kb |
Mosaic | 6,825 Kb |
One Page Template HTML5 | 5,479 Kb |
Some problems caused by flexbox | 2,306 Kb |
Picture tag, srcset and sizes attributes | 2,894 Kb |
Parallelogram with background-image | 2,401 Kb |
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!
Name | Username | Size |
Filtre ile Arama Kutusu - Search Box with Filter | AyhanALTINOK | 3,448 Kb |
A Pen by Rob Levin | Roblevin | 2,787 Kb |
Drifting Clouds | Benedikte | 2,247 Kb |
Rainbow Drops | Csbarnes | 2,365 Kb |
Simple Carousel Pure CSS | Dangvanthanh | 4,080 Kb |
FontAwesome icons with animation | Nicotinell | 2,083 Kb |
Bootstrap 4 Gridsystem Demo | Rivella50 | 1,535 Kb |
Polygon Dodecahedron in CSS | Vennsoh | 7,606 Kb |
OnScreenAction | Ozgursagiroglu | 2,647 Kb |
SVG email test v2.0 | M_J_Robbins | 2,090 Kb |
Surf anonymously, prevent hackers from acquiring your IP address, send anonymous email, and encrypt your Internet connection. High speed, ultra secure, and easy to use. Instant setup. Hide Your IP Now!