jquery 3D球状导航的文章分类 - Web前端
作者:98wpeu发布时间:2026-08-02分类:网页前端技术浏览:2
导读:前几天写了左边这个3D球状导航的文章分类,这里对实现细节做个简单记录。效果:分类标题呈现3d球状效果,点击分类标题的时候,会弹出这个分类对应的推荐文章列表。效果截图:htm...
前几天写了左边这个3D球状导航的文章分类,这里对实现细节做个简单记录。
效果:
分类标题呈现3d球状效果,点击分类标题的时候,会弹出这个分类对应的推荐文章列表。
效果截图:


html:
复制代码 代码如下:
<div id="mAInlist">
<div id="list">
<ul>
<li><a class="HTML" onclick="Clicklink(this)" href="#">HTML</a></li>
<li><a class="CSS" onclick="ClickLink(this)" href="#">css</a></li>
<li><a class="JS" onclick="ClickLink(this)" href="#">javascript</a></li>
<li><a class="Ajax" onclick="ClickLink(this)" href="#">ajax</a></li>
<li><a class="ASPNET" onclick="ClickLink(this)" href="#">asp.net</a></li>
<li><a class="csharp" onclick="ClickLink(this)" href="#">c#</a></li>
<li><a class="DEbug" onclick="ClickLink(this)" href="#">Debugging</a></li>
<li><a class="PERF" onclick="ClickLink(this)" href="#">Performance</a></li>
<li><a class="ARCHITERT" onclick="ClickLink(this)" href="#">Architect</a></li>
</ul>
</div>
核心js:动态生成3D球状云+弹出模式窗体-articlemap.js
复制代码 代码如下:
$(function() {
var element = $('#list a'); ;
var offset = 0;
var stepPing = 0.02;
var list = $('#list');
var $list = $(list)
$list.mouSEMove(function(e) {
var topOfList = $list.eq(0).offset().top
var listheight = $list.height()
stepping = (e.clientY - topOfList) / listHeight * 0.2 - 0.1;
});
for (var i = element.length - 1; i >= 0; i--) {
element[i].elemAngle = i * Math.PI * 2 / element.length;
}
SetInterval(render, 50);
function render() {
for (var i = element.length - 1; i >= 0; i--) {
var angle = element[i].elemAngle + offset;
x = 120 + Math.sin(angle) * 30;
y = 45 + Math.cos(angle) * 40;
size = Math.round(15 - Math.sin(angle) * 15);
var elementCenter = $(element[i]).width() / 2;
var leftvalue = (($list.width() / 2) * x / 100 - elementCenter) + "px"
$(element[i]).css("fontsize", size + "pt");
$(element[i]).css("opacity", size / 100);
$(element[i]).css("zIndex", size);
$(element[i]).css("left", leftValue);
$(element[i]).css("top", y + "%");
}
offset += stepping;
}
});
function ClickLink(item) {
var typName = $(item).text();
var links = null;
switch (typName) {
case "HTML":
links = TrainLinks(Links.HTML);
break;
case "CSS":
links = TrainLinks(Links.CSS);
break;
case "JavaScript":
links = TrainLinks(Links.Javascript);
break;
case "Ajax":
links = TrainLinks(Links.Ajax);
break;
case "Asp.net":
links = TrainLinks(Links.Aspnet);
break;
case "C#":
links = TrainLinks(Links.CSharp);
break;
case "Debugging":
links = TrainLinks(Links.Debugging);
break;
case "PerFORMance":
links = TrainLinks(Links.Performance);
break;
case "Architect":
links = TrainLinks(Links.Architect);
break;
}
CommonHelper.showNoBTnAlert(typName, links);
}
function TrainLinks(arr) {
var links = "这个可以有,暂时还没有!";
if (arr.length > 0) {
links = '<div><ul>';
}
for (i = 0, j = arr.length; i < j; i++) {
links += '<li><a target="_blank" href="' + arr[i][0] + '">' + arr[i][1] + '</a></li>';
}
if (arr.length > 0) {
links += '</ul></div>';
}
return links;
}
辅助存储推荐文章列表的JS(未来通过修改这个文件来维护推荐文章):
复制代码 代码如下:
var Links = {
HTML: [],
CSS: [["http://www.cnblogs.com/justinw/archive/2010/06/16/1758922.html", "制作50个超棒动画效果教程"]],
javascript: [
["HTTP://www.cnblogs.com/justinw/archive/2009/11/27/1611728.html", "[原创]AjaxControlToolkitTests自动测试框架完全解析之一:架构篇 "],
["http://www.cnblogs.com/justinw/archive/2009/11/30/1613391.html", "[原创]AjaxControlToolkitTests自动测试框架完全解析之二:实现篇(1) "],
["http://www.cnblogs.com/justinw/archive/2009/12/02/1615382.html", "[javaScript] 使用document.createDocumentFragment优化性能 "],
],
Ajax: [],
Aspnet: [],
CSharp: [],
......
PerFormance: [
["http://www.cnblogs.com/justinw/archive/2009/11/26/1611397.html", "[推荐]前端性能分析工具:dynaTrace Ajax Edition"]
]
}
其他:
这里还引用了JQueryUI的Dialog和一些自定义的CSS设置,具体参考实例即可。
下载源代码
效果:
分类标题呈现3d球状效果,点击分类标题的时候,会弹出这个分类对应的推荐文章列表。
效果截图:


html:
复制代码 代码如下:
<div id="mAInlist">
<div id="list">
<ul>
<li><a class="HTML" onclick="Clicklink(this)" href="#">HTML</a></li>
<li><a class="CSS" onclick="ClickLink(this)" href="#">css</a></li>
<li><a class="JS" onclick="ClickLink(this)" href="#">javascript</a></li>
<li><a class="Ajax" onclick="ClickLink(this)" href="#">ajax</a></li>
<li><a class="ASPNET" onclick="ClickLink(this)" href="#">asp.net</a></li>
<li><a class="csharp" onclick="ClickLink(this)" href="#">c#</a></li>
<li><a class="DEbug" onclick="ClickLink(this)" href="#">Debugging</a></li>
<li><a class="PERF" onclick="ClickLink(this)" href="#">Performance</a></li>
<li><a class="ARCHITERT" onclick="ClickLink(this)" href="#">Architect</a></li>
</ul>
</div>
核心js:动态生成3D球状云+弹出模式窗体-articlemap.js
复制代码 代码如下:
$(function() {
var element = $('#list a'); ;
var offset = 0;
var stepPing = 0.02;
var list = $('#list');
var $list = $(list)
$list.mouSEMove(function(e) {
var topOfList = $list.eq(0).offset().top
var listheight = $list.height()
stepping = (e.clientY - topOfList) / listHeight * 0.2 - 0.1;
});
for (var i = element.length - 1; i >= 0; i--) {
element[i].elemAngle = i * Math.PI * 2 / element.length;
}
SetInterval(render, 50);
function render() {
for (var i = element.length - 1; i >= 0; i--) {
var angle = element[i].elemAngle + offset;
x = 120 + Math.sin(angle) * 30;
y = 45 + Math.cos(angle) * 40;
size = Math.round(15 - Math.sin(angle) * 15);
var elementCenter = $(element[i]).width() / 2;
var leftvalue = (($list.width() / 2) * x / 100 - elementCenter) + "px"
$(element[i]).css("fontsize", size + "pt");
$(element[i]).css("opacity", size / 100);
$(element[i]).css("zIndex", size);
$(element[i]).css("left", leftValue);
$(element[i]).css("top", y + "%");
}
offset += stepping;
}
});
function ClickLink(item) {
var typName = $(item).text();
var links = null;
switch (typName) {
case "HTML":
links = TrainLinks(Links.HTML);
break;
case "CSS":
links = TrainLinks(Links.CSS);
break;
case "JavaScript":
links = TrainLinks(Links.Javascript);
break;
case "Ajax":
links = TrainLinks(Links.Ajax);
break;
case "Asp.net":
links = TrainLinks(Links.Aspnet);
break;
case "C#":
links = TrainLinks(Links.CSharp);
break;
case "Debugging":
links = TrainLinks(Links.Debugging);
break;
case "PerFORMance":
links = TrainLinks(Links.Performance);
break;
case "Architect":
links = TrainLinks(Links.Architect);
break;
}
CommonHelper.showNoBTnAlert(typName, links);
}
function TrainLinks(arr) {
var links = "这个可以有,暂时还没有!";
if (arr.length > 0) {
links = '<div><ul>';
}
for (i = 0, j = arr.length; i < j; i++) {
links += '<li><a target="_blank" href="' + arr[i][0] + '">' + arr[i][1] + '</a></li>';
}
if (arr.length > 0) {
links += '</ul></div>';
}
return links;
}
辅助存储推荐文章列表的JS(未来通过修改这个文件来维护推荐文章):
复制代码 代码如下:
var Links = {
HTML: [],
CSS: [["http://www.cnblogs.com/justinw/archive/2010/06/16/1758922.html", "制作50个超棒动画效果教程"]],
javascript: [
["HTTP://www.cnblogs.com/justinw/archive/2009/11/27/1611728.html", "[原创]AjaxControlToolkitTests自动测试框架完全解析之一:架构篇 "],
["http://www.cnblogs.com/justinw/archive/2009/11/30/1613391.html", "[原创]AjaxControlToolkitTests自动测试框架完全解析之二:实现篇(1) "],
["http://www.cnblogs.com/justinw/archive/2009/12/02/1615382.html", "[javaScript] 使用document.createDocumentFragment优化性能 "],
],
Ajax: [],
Aspnet: [],
CSharp: [],
......
PerFormance: [
["http://www.cnblogs.com/justinw/archive/2009/11/26/1611397.html", "[推荐]前端性能分析工具:dynaTrace Ajax Edition"]
]
}
其他:
这里还引用了JQueryUI的Dialog和一些自定义的CSS设置,具体参考实例即可。
下载源代码
- 上一篇:JQuery入门——事件切换之toggle()方法应用介绍 - Web前端
- 下一篇:已经是最后一篇了
相关推荐
- JQuery中的ready函数冲突的解决方法 - Web前端
- JQuery入门——事件切换之toggle()方法应用介绍 - Web前端
- jquery 学习笔记一 - Web前端
- Jquery AJAX 用于计算点击率(统计) - Web前端
- Jquery iframe内部出滚动条 - Web前端
- jQuery中mouseover事件用法实例 - Web前端
- jquery延迟加载外部js实现代码 - Web前端
- JQuery Dialog(JS 模态窗口,可拖拽的DIV) - Web前端
- JQuery 选项卡效果(JS与HTML的分离) - Web前端
- jQuery中ajax的load()方法用法实例 - Web前端
- 网页前端技术排行
-
- 1[Web前端]用javascript实现默认图片替代未显示的图片 - Web前端
- 2分析Iconfont-阿里巴巴矢量常用图标库 - Web前端
- 3【第六章】Foundation之按钮和下拉功能 - Web前端
- 4jQuery实例教程:制作网页中可折叠的面板 - Web前端
- 5基于jquery的滚动条滚动固定div(附演示下载) - Web前端
- 6jQuery编写widget的一些技巧分享 - Web前端
- 7分享精心挑选的12款优秀jQuery Ajax分页插件和教程 - Web前端
- 8jQuery实现鼠标移到元素上动态提示消息框效果 - Web前端
- 9在Mac/PC上远程调试iPhone/iPad上的网页 - Web前端
- 最近发表
-
- WordPress随机显示特色图片插件:Random Post Thumbnails
- KeePass实现Chrome浏览器自动填充密码方法一
- LNMP一键包nginx 301强制跳转到https教程
- KeePass实现Chrome浏览器自动填充密码方法二
- #建站# 免费的VPS管理软件Xshell8/Xftp8中文版下载
- 使用Xshell 8连接VPS教程_电脑登录vps的方法
- WordPress评论界面添加烟花????效果
- 不同浏览器书签同步方案:坚果云+Floccus_详细使用教程
- iOS端KeePassXC客户端APP:Strongbox Password Safe
- 给WordPress评论中的Gravatar头像图片添加ALT属性


