2008年05月05日 星期一 14:52
main.htm
-------------------------
<iframe id="box" width="100%" height="100%" frameborder="0" name="box" src="index.aspx" onload="javascript:linkbox.addlink(box.document.title,box.document.location);"></iframe>
<iframe id="linkbox" width="100%" height="16" frameborder="no" name="linkbox" src="link.htm"></iframe>
-----------------------
link.htm
-----------------------
<html>
<head>
<title>LinkTabs Page</title>
<style type="text/css">
.currHome
{
padding-left: 15px;
padding-top: 2px;
padding-bottom: 2px;
background-image: url('../images/tab_curr_home.gif');
background-repeat: no-repeat;
background-position: left;
font-size: 9pt;
color: #3A4663;
text-decoration: none;
font-family: 宋体, Arial, Helvetica, sans-serif;
}
.currLink
{
padding-left: 15px;
padding-top: 2px;
padding-bottom: 2px;
background-image: url('../images/tab_curr.gif');
background-repeat: no-repeat;
background-position: left;
font-size: 9pt;
color: #3A4663;
text-decoration: none;
font-family: 宋体, Arial, Helvetica, sans-serif;
}
.currNext
{
padding-left: 15px;
padding-top: 2px;
padding-bottom: 2px;
background-image: url('../images/tab_currNext.gif');
background-repeat: no-repeat;
background-position: left;
font-size: 9pt;
color: #3A4663;
text-decoration: none;
font-family: 宋体, Arial, Helvetica, sans-serif;
}
.normHome
{
padding-left: 15px;
padding-top: 2px;
padding-bottom: 2px;
background-image: url('../images/tab_norm_home.gif');
background-repeat: no-repeat;
background-position: left;
font-size: 9pt;
color: #3A4663;
text-decoration: none;
font-family: 宋体, Arial, Helvetica, sans-serif;
}
.normLink
{
padding-left: 15px;
padding-top: 2px;
padding-bottom: 2px;
background-image: url('../images/tab_norm.gif');
background-repeat: no-repeat;
background-position: left;
font-size: 9pt;
color: #3A4663;
text-decoration: none;
font-family: 宋体, Arial, Helvetica, sans-serif;
}
.currEnd
{
padding-left:15px;
padding-top:2px;
padding-bottom:2px;
background-image:url('../images/tab_curr_end.GIF');
background-repeat:no-repeat;
background-position:left;
font-size: 9pt;
color: #9CB6DB;
text-decoration: none;
font-family: 宋体, Arial, Helvetica, sans-serif;
}
.normEnd
{
padding-left: 15px;
padding-top: 2px;
padding-bottom: 2px;
background-image: url('../images/tab_norm_end.GIF');
background-repeat: no-repeat;
background-position: left;
font-size: 9pt;
color: #9CB6DB;
text-decoration: none;
font-family: 宋体, Arial, Helvetica, sans-serif;
}
</style>
<script language="javascript" type="text/javascript">
var tab_array = new Array();//链接数组
var tab="";
var currIndex=-1;//当前项
var startIndex=0;//开始显示项
function addlink(title,link)
{
if (title.indexOf(" - ")>-1)
title=title.split(" - ")[1];
currIndex=-1;
for(i=0;i<tab_array.length;i++)
{
if (tab_array[i]==title+","+link)
currIndex=i;
}
if (currIndex==-1)//经上面检查没有在数组中为新链接.
{
//如果不等于主页的地址
if (link!=document.location.toString().substring(0,document.location.toString().length-8)+"index.aspx")
{
if (tab_array.length>30)
{
tab_array=tab_array.reverse();
tab_array.pop();
tab_array=tab_array.reverse();
}
//添加新链接
tab_array.push(title+","+link);
currIndex=tab_array.length-1;
//重置开始显示项startIndex
resetStartIndex(currIndex);
}
}
buildTab();
}
//重置开始显示项startIndex(当前项currIndex在未尾)
function resetStartIndex(currIndex)
{
//卡片区的宽
var cardw=document.body.clientWidth-(17+16+16+16)-(15+24)-20;
//显示的卡片的宽
var tabsw=0;
//从后往前算
for(i=currIndex;i>-1;i--)
{
title=tab_array[i].split(",")[0];
link=tab_array[i].split(",")[1];
if (tabsw+title.length*12<cardw)
{
startIndex=i;
tabsw+=(title.length*12)+15;//15这卡片样式中padding-Left
}
else
i=-1;//跳出
}
}
function buildTab()
{
var title="主页";
var link="index.aspx";
card.innerHTML="";
if (currIndex==-1)
card.innerHTML+="<a href='"+link+"' target='box' class='currHome'>"+title+"</a>";
else
card.innerHTML+="<a href='"+link+"' target='box' class='normHome'>"+title+"</a>";
//卡片区宽
var cardw=document.body.clientWidth-(17+16+16+16)-(15+24)-20;
//可显示的卡片宽
var tabsw=0;
//显示的卡片数
var tabNum=0;
//从要显示的项开始算
for(i=startIndex;i<tab_array.length;i++)
{
title=tab_array[i].split(",")[0];
link=tab_array[i].split(",")[1];
if (tabsw+title.length*12+15<cardw)
{
if (currIndex==tabNum+startIndex)
card.innerHTML+="<a href='"+link+"' target='box' class='currLink'>"+title+"</a>";
else if ((currIndex+1==tabNum+startIndex)||((currIndex==-1) && (tabNum==0)) )
card.innerHTML+="<a href='"+link+"' target='box' class='currNext'>"+title+"</a>";
else
card.innerHTML+="<a href='"+link+"' target='box' class='normLink'>"+title+"</a>";
tabsw+=title.length*12+15;//15为卡片样式中的padding-Left
tabNum+=1;
}
else
i=tab_array.length;//跳出
}
if (currIndex==startIndex+tabNum-1)
card.innerHTML+="<span class='currEnd' > </span>";
else
card.innerHTML+="<span class='normEnd' > </span>";
}
function firstArrowOnclick()
{
startIndex=0;
buildTab();
}
function forwardArrowOnclick()
{
if (startIndex>0)
{
startIndex-=1;
buildTab();
}
}
function nextArrowOnclick()
{
if (startIndex<tab_array.length-1)
{
startIndex+=1;
buildTab();
}
}
function endArrowOnclick()
{
if (tab_array.length>0)
{
startIndex=tab_array.length-1;
buildTab();
}
}
</script>
</head>
<body scroll="no" style="margin:0px;" bgcolor="#9CB6DB">
<table style="width: 100%" cellspacing="0" cellpadding="0">
<tr>
<td width="33">
<img onclick="firstArrowOnclick();" alt="第一个" src="../images/firstArrow.gif" width="17" height="15" style="cursor:hand" /><img onclick="forwardArrowOnclick();" alt="前一个" src="../images/forwardArrow.gif" width="16" height="15" style="cursor:hand;" /></td>
<td>
<div id="card" style=" background-color: #9CB6DB; ">
</div>
</td>
<td width="32">
<img onclick="nextArrowOnclick();" alt="下一个" src="../images/nextArrow.gif" width="16" height="15" style="cursor:hand;" /><img onclick="endArrowOnclick();" alt="最后一个" src="../images/endArrow.gif" width="16" height="15" style="cursor:hand" /></td>
</tr>
</table>
</body>
</html>
分享到:
相关推荐
- **动画效果**:利用CSS3的`transition`或`animation`属性实现卡片切换的平滑过渡效果。 - **定时器**:如果需要自动轮播,可以设置一个定时器,每隔一定时间调用切换卡片的函数。 **4. 动态调整**: 为了提高用户...
在微信小程序中实现卡片层叠滑动效果,可以帮助开发者创建更丰富和直观的用户交互体验。实现该效果需要涉及到微信小程序的前端技术,如wxml、wxss和JavaScript等。 微信小程序页面中使用js文件编写JavaScript代码,...
为了实现卡片效果,我们需要启用 `effect: 'coverflow'` 选项,并可能调整其他相关参数,如 `slideShuffle` 和 `rotate`。在 JavaScript 中,这可以这样实现: ```javascript var swiper = new Swiper('.swiper-...
通过纯JavaScript实现,开发者无需深入学习原生平台的Swift或Java,即可在React Native应用中实现这样的功能,大大降低了开发成本。 React Native的组件化特性使得`react-native-card-modal`易于集成和定制。每个...
Swiper是一款广泛应用于移动设备和Web页面的触摸滑动插件,特别适合创建高质量的滑动效果,如轮播图、卡片式布局等。在"swiper圆角卡片式手机触屏滑动图片切换代码"中,它被用来实现了一种手机端的图片展示功能,...
本示例中的"原生js实现卡片式日历撕掉翻转特效.zip"是一个利用JavaScript(特别是原生JavaScript,非依赖任何库如jQuery)创建的创新日历功能,它通过模拟日历卡片的撕掉和翻转效果,为用户提供了独特的视觉体验。...
jQuery实现卡片式焦点图的关键在于选择器、事件处理和动画效果。以下是一些核心概念: 1. **选择器**:jQuery的选择器语法简洁且强大,用于选取DOM元素。例如,`$(".card")` 将选取所有class为"card"的元素,这些...
例如,通过`.slideUp()`和`.slideDown()`方法可以实现卡片的上下滑动效果,`.fadeIn()`和`.fadeOut()`则用于图片的淡入淡出过渡。 CSS3则是现代网页样式和布局的核心,它引入了许多新的选择器、动画和过渡效果。在...
总的来说,这个jQuery实现的卡片式翻转时钟特效结合了JavaScript的时间处理、CSS3的3D变换以及jQuery的事件和动画功能,为网页添加了一道亮丽的风景线。通过理解并实践这个源码,开发者不仅可以提升JavaScript和...
在本项目中,我们关注的是一个使用纯JavaScript(原生js)实现的卡片式挂历日历翻转特效动画。这种特效通常用于增强用户界面,为日历展示提供一种动态且吸引人的呈现方式。下面我们将深入探讨这个项目的相关知识点。...
在技术实现上,卡片式焦点图可能涉及HTML、CSS和JavaScript。HTML用于构建基本的结构,如卡片容器和每个卡片的元素;CSS则负责样式设计,包括卡片的布局、过渡效果以及响应式设计,确保在不同设备上都能良好显示;...
综上所述,HTML5折叠卡片式下拉菜单通过`<details>`和`<summary>`标签实现了简洁的折叠效果,结合CSS可以实现丰富的样式设计,而JavaScript则允许我们进一步定制交互行为,以满足不同场景的需求。在实际项目中,这种...
【jQuery卡片式翻转时钟特效】是一种利用jQuery库和CSS3技术实现的创新时钟展示方式,它将时间的时、分、秒以卡片的形式进行动态翻转,为网页增添了一种独特的视觉效果。这款特效能够吸引用户注意力,使时间的呈现...
"卡片式banner+滑动标题栏渐变"的实现涉及到前端开发中的CSS3、JavaScript以及可能的框架如React或Vue。下面将详细阐述这个主题的知识点。 首先,**卡片式设计**是一种将信息组织成类似实体卡片的形式,每个卡片...
标题"简单的图片溢出的卡片式布局效果"提示我们,这个压缩包可能包含了一个实现图片在卡片中溢出效果的示例。这种效果通常用于创建视觉吸引力,引导用户的注意力,并且可以增强用户体验。 首先,我们来讨论一下卡片...
本特效利用jQuery的事件处理、DOM操作,结合CSS3的动画效果和HTML5的新特性,构建出一种具有3D立体效果的折叠卡片式下拉菜单,既美观又实用。 ### HTML5基础知识 HTML5是超文本标记语言的最新版本,引入了许多新的...
7. **CSS样式**:为了实现卡片式的设计,需要编写CSS来调整下拉框的外观,例如增加边框、圆角、背景色等。可能还需要处理布局,确保卡片排列美观。 8. **优化**:为了提高用户体验,可以考虑预加载下一级别的数据,...
为了实现卡片效果,可能还需要额外的容器元素,如`<div>`,用以包含卡片内容。这些元素通过CSS定位,以实现滑动动画。 5. **响应式设计**: 考虑到不同设备的屏幕尺寸,一个好的侧边栏菜单应该具备响应式设计。...
这个菜单导航的特点是采用卡片式设计,既实用又具有良好的视觉效果。 在网页设计中,侧边栏菜单通常用于提供网站的主要导航选项,方便用户快速访问各个页面。CSS3的引入为菜单设计带来了更多可能性,如动画效果、...