- 浏览: 46380 次
- 性别:
- 来自: 南京
文章分类
最新评论
var tabview = {
textPadding : 3, // Padding at the left of tab text - bigger value gives you wider tabs
strictDocType : true,
tabView_maxNumberOfTabs : 6, // Maximum number of tabs
/* Don't change anything below here */
dhtmlgoodies_tabObj : new Array(),
activeTabIndex : new Array(),
MSIE : navigator.userAgent.toLowerCase().indexOf('msie')>=0?true:false,
// regExp : new RegExp(".*MSIE ([0-9]\.[0-9]).*","g"),
// navigatorVersion : navigator.userAgent.replace(regExp,'$1'),
ajaxObjects : new Array(),
tabView_countTabs : new Array(),
tabViewHeight : new Array(),
tabDivCounter : 0,
closeImageHeight : 8, // Pixel height of close buttons
closeImageWidth : 8, // Pixel height of close buttons
setPadding : function(obj,padding){
var span = obj.getElementsByTagName('SPAN')[0];
span.style.paddingLeft = padding + 'px';
span.style.paddingRight = padding + 'px';
},
/**
*展示TAB页,确定哪个显示为当前的TAB页
*@parentId:父DIV的ID
*@tabIndex: 展示的TAB为第几个
**/
showTab : function(parentId,tabIndex)
{
var parentId_div = parentId + "_";
if(!document.getElementById('tabView' + parentId_div + tabIndex)){
return;
}
if(this.activeTabIndex[parentId]>=0){
if(this.activeTabIndex[parentId]==tabIndex){
return;
}
var obj = document.getElementById('tabTab'+parentId_div + this.activeTabIndex[parentId]);
obj.className='tabInactive';
var img = obj.getElementsByTagName('IMG')[0];
if(img.src.indexOf('tab_')==-1)img = obj.getElementsByTagName('IMG')[1];
img.src = 'image/tab_right_inactive.gif';
document.getElementById('tabView' + parentId_div + this.activeTabIndex[parentId]).style.display='none';
}
var thisObj = document.getElementById('tabTab'+ parentId_div +tabIndex);
thisObj.className='tabActive';
var img = thisObj.getElementsByTagName('IMG')[0];
if(img.src.indexOf('tab_')==-1)img = thisObj.getElementsByTagName('IMG')[1];
img.src = 'image/tab_right_active.gif';
document.getElementById('tabView' + parentId_div + tabIndex).style.display='block';
this.activeTabIndex[parentId] = tabIndex;
var parentObj = thisObj.parentNode;
var aTab = parentObj.getElementsByTagName('DIV')[0];
countObjects = 0;
var startPos = 2;
var previousObjectActive = false;
while(aTab){
if(aTab.tagName=='DIV'){
if(previousObjectActive){
previousObjectActive = false;
startPos-=2;
}
if(aTab==thisObj){
startPos-=2;
previousObjectActive=true;
this.setPadding(aTab,this.textPadding+1);
}else{
this.setPadding(aTab,this.textPadding);
}
aTab.style.left = startPos + 'px';
countObjects++;
startPos+=2;
}
aTab = aTab.nextSibling;
}
return;
},
/**
*点击TAB标签,显示该TAB页
*
*
**/
tabClick : function()
{
var idArray = this.id.split('_');
try{
tabview.showTab((this).parentNode.parentNode.id,idArray[idArray.length-1].replace(/[^0-9]/gi,''));
}catch(e){}
},
rolloverTab : function()
{
if(this.className.indexOf('tabInactive')>=0){
this.className='inactiveTabOver';
var img = this.getElementsByTagName('IMG')[0];
if(img.src.indexOf('tab_')<=0)img = this.getElementsByTagName('IMG')[1];
img.src = 'image/tab_right_over.gif';
}
},
rolloutTab : function()
{
if(this.className == 'inactiveTabOver'){
this.className='tabInactive';
var img = this.getElementsByTagName('IMG')[0];
if(img.src.indexOf('tab_')<=0)img = this.getElementsByTagName('IMG')[1];
img.src = 'image/tab_right_inactive.gif';
}
},
hoverTabViewCloseButton : function()
{
this.src = this.src.replace('close.gif','close_over.gif');
},
stopHoverTabViewCloseButton : function()
{
this.src = this.src.replace('close_over.gif','close.gif');
},
/**
*初始化TAB标签
*
**/
initTabs : function(mainContainerID,tabTitles,activeTab,width,height,closeButtonArray,additionalTab)
{
if(!closeButtonArray)closeButtonArray = new Array();
if(!additionalTab || additionalTab=='undefined'){
this.dhtmlgoodies_tabObj[mainContainerID] = document.getElementById(mainContainerID);
width = width + '';
if(width.indexOf('%')<0)width= width + 'px';
this.dhtmlgoodies_tabObj[mainContainerID].style.width = width;
height = height + '';
if(height.length>0){
if(height.indexOf('%')<0)height= height + 'px';
//this.dhtmlgoodies_tabObj[mainContainerID].style.height = "auto !important";
//this.dhtmlgoodies_tabObj[mainContainerID].style.height = height;
this.dhtmlgoodies_tabObj[mainContainerID].style.minHeight = height;
}
this.tabViewHeight[mainContainerID] = height;
var tabDiv = document.createElement('DIV');
var firstDiv = this.dhtmlgoodies_tabObj[mainContainerID].getElementsByTagName('DIV')[0];
this.dhtmlgoodies_tabObj[mainContainerID].insertBefore(tabDiv,firstDiv);
tabDiv.className = 'dhtmlgoodies_tabPane';
this.tabView_countTabs[mainContainerID] = 0;
}else{
var tabDiv = this.dhtmlgoodies_tabObj[mainContainerID].getElementsByTagName('DIV')[0];
var firstDiv = this.dhtmlgoodies_tabObj[mainContainerID].getElementsByTagName('DIV')[1];
height = this.tabViewHeight[mainContainerID];
activeTab = this.tabView_countTabs[mainContainerID];
}
for(var no=0;no<tabTitles.length;no++){
var aTab = document.createElement('DIV');
aTab.id = 'tabTab' + mainContainerID + "_" + (no + this.tabView_countTabs[mainContainerID]);
aTab.onmouseover = this.rolloverTab;
aTab.onmouseout = this.rolloutTab;
aTab.onclick = this.tabClick;
aTab.className='tabInactive';
tabDiv.appendChild(aTab);
var span = document.createElement('SPAN');
span.innerHTML = tabTitles[no];
span.style.position = 'relative';
aTab.appendChild(span);
if(closeButtonArray[no]){
var closeButton = document.createElement('IMG');
closeButton.src = 'image/close.gif';
closeButton.height = this.closeImageHeight + 'px';
closeButton.width = this.closeImageHeight + 'px';
closeButton.setAttribute('height',this.closeImageHeight);
closeButton.setAttribute('width',this.closeImageHeight);
closeButton.style.position='absolute';
closeButton.style.top = '6px';
closeButton.style.right = '0px';
closeButton.onmouseover = this.hoverTabViewCloseButton;
closeButton.onmouseout = this.stopHoverTabViewCloseButton;
span.innerHTML = span.innerHTML + ' ';
var deleteTxt = span.innerHTML+'';
closeButton.onclick = function(){
var needid = this.parentNode.parentNode.id;
var parentid = this.parentNode.parentNode.parentNode.parentNode.id;
var idArray = needid.split('_');
var idArray = this.parentNode.parentNode.id.split('_');
tabview.showTab($(this.parentNode.parentNode.id).parentNode.parentNode.id,idArray[idArray.length-1].replace(/[^0-9]/gi,''));
tabview.closebuttondeleteTab(idArray[idArray.length-1].replace(/[^0-9]/gi,''),parentid);};
span.appendChild(closeButton);
}
var img = document.createElement('IMG');
img.valign = 'bottom';
img.src = 'image/tab_right_inactive.gif';
// IE5.X FIX
//if((navigatorVersion && navigatorVersion<6) || (MSIE && !strictDocType)){
// img.style.styleFloat = 'none';
// img.style.position = 'relative';
// img.style.top = '4px'
// span.style.paddingTop = '4px';
// aTab.style.cursor = 'hand';
//} // End IE5.x FIX
aTab.appendChild(img);
}
var tabs = this.dhtmlgoodies_tabObj[mainContainerID].getElementsByTagName('DIV');
var divCounter = 0;
for(var no=0;no<tabs.length;no++){
if(tabs[no].className=='dhtmlgoodies_aTab' && tabs[no].parentNode.id == mainContainerID){
//if(height.length>0)tabs[no].style.height = height;
if(height.length>0){
tabs[no].style.minHeight = height;
}
tabs[no].style.display='none';
tabs[no].id = 'tabView' + mainContainerID + "_" + divCounter;
divCounter++;
}
}
this.tabView_countTabs[mainContainerID] = this.tabView_countTabs[mainContainerID] + tabTitles.length;
this.showTab(mainContainerID,activeTab);
return activeTab;
},
resetTabIds : function(parentId)
{
var tabTitleCounter = 0;
var tabContentCounter = 0;
var divs = this.dhtmlgoodies_tabObj[parentId].getElementsByTagName('DIV');
for(var no=0;no<divs.length;no++){
if(divs[no].className=='dhtmlgoodies_aTab'){
divs[no].id = 'tabView' + parentId + '_' + tabTitleCounter;
tabTitleCounter++;
}
if(divs[no].id.indexOf('tabTab')>=0){
divs[no].id = 'tabTab' + parentId + '_' + tabContentCounter;
tabContentCounter++;
}
}
this.tabView_countTabs[parentId] = tabContentCounter;
},
createNewTabSel : function (parentId,tabTitle,tabContent,tabContentUrl,closeButton,tag){
var num = this.checkCheckbox('checkbox32');
var arrary = num.split(":");
alert(arrary);
if(num == 'not select'){
alert('not select!');
}
else if(arrary.length==2){
if (tag=='1'||tag=='3'){
var selId = arrary[0].replace(/,/g,"");
tabContentUrl = tabContentUrl + '?id=' + selId;
alert("&&&");
this.createNewTab(parentId,tabTitle,tabContent,tabContentUrl,closeButton);
}else
this.createNewTab(parentId,tabTitle,tabContent,tabContentUrl,closeButton);
}else if(arrary.length>2){
alert('more!!!');
}
},
createNewTab : function (parentId,tabTitle,tabContent,tabContentUrl,closeButton)
{
if(this.tabView_countTabs[parentId]>=this.tabView_maxNumberOfTabs)return; // Maximum number of tabs reached - return
var div = document.createElement('DIV');
div.className = 'dhtmlgoodies_aTab';
this.dhtmlgoodies_tabObj[parentId].appendChild(div);
var tabId = this.initTabs(parentId,Array(tabTitle),0,'','',Array(closeButton),true);
//if(tabContent)div.innerHTML = tabContent;
if(tabContentUrl){
pf.loadPage(tabContentUrl,div.id);
}
},
getNewTab : function (parentId,tabTitle,tabContent,closeButton,selId)
{
if(this.tabView_countTabs[parentId]>=this.tabView_maxNumberOfTabs)return; // Maximum number of tabs reached - return
var div = document.createElement('DIV');
div.className = 'dhtmlgoodies_aTab';
this.dhtmlgoodies_tabObj[parentId].appendChild(div);
var tabId = this.initTabs(parentId,Array(tabTitle),0,'','',Array(closeButton),true);
if(tabContent)div.innerHTML = tabContent;
return div.id;
},
/**
*删除TAB页
*
**/
deleteTab : function(tabIndex,parentId)
{
var tabIndex = this.activeTabIndex[parentId];
if(document.getElementById('tabTab' + parentId + '_' + tabIndex)){
var obj = document.getElementById('tabTab' + parentId + '_' + tabIndex);
var id = obj.parentNode.parentNode.id;
obj.parentNode.removeChild(obj);
var obj2 = document.getElementById('tabView' + parentId + '_' + tabIndex);
obj2.parentNode.removeChild(obj2);
this.resetTabIds(parentId);
this.activeTabIndex[parentId]=-1;
this.showTab(parentId,'0');
}
},
closebuttondeleteTab : function(tabIndex,parentId)
{
if(document.getElementById('tabTab' + parentId + '_' + tabIndex)){
var obj = document.getElementById('tabTab' + parentId + '_' + tabIndex);
var id = obj.parentNode.parentNode.id;
obj.parentNode.removeChild(obj);
var obj2 = document.getElementById('tabView' + parentId + '_' + tabIndex);
obj2.parentNode.removeChild(obj2);
this.resetTabIds(parentId);
this.activeTabIndex[parentId]=-1;
this.showTab(parentId,'0');
}
},
/*
*checkbox 判断checkbox选择,可单选,多选并返回所选项的ID数组
*
*@param objNam checkbox name
*/
checkCheckbox : function (objNam){
var obj = document.getElementsByName(objNam);
var objLen= obj.length;
var objN=0; //
var nameValue='';
var value = '';
var i;
for (i = 0;i< objLen;i++){
if (obj [i].checked==true) {
objN++;
value = obj[i].value;
nameValue = nameValue + value +':';
}
}
if(objN==1)
return value + ':' + 'one';
else if(objN==0)
return 'not select';
else if(objN>1)
return nameValue + 'more';
}
};
下面是获得他的div的id两种方法,虽然第一个方法复杂,但是可以很好研究了tab的js
//增加新的考评选项
//urlstr:要处理的URL地址
addAppraisalModel:function(urlstr){
//打开一个新的tab。其父节点是一个id为'appraisalList'的DIV,
tabview.createNewTab('appraisalList',appraisalResource.tabModelName0,'',urlstr,true);
//获得父DIV节点
var pdiv = document.getElementById('appraisalList');
//获得父节点的最后一个孩子,就是最新打开的tab。
var lastDivNode = pdiv.lastChild;
//我在主页面放了一个隐藏的<input>,用来存放最新打开的tab DIV的id。以便以后对此DIV进行刷新
var hiddenIndex = document.getElementById("tabIndex");
if(hiddenIndex != null){
hiddenIndex.value = lastDivNode.id;
}
},
第二种方法,比较简单。就是把要加载的页面放到指定的div中。这样div的id就可以我们自己来指定了。不用在动态的获得了
- js.rar (5.8 KB)
- 下载次数: 81
发表评论
-
dtree中实现checkbox,父节点和子节点的行为一样
2009-03-24 10:52 3441页面: <div class="z ... -
FCKEditor2.6.3配合Java的使用步骤
2009-01-17 11:34 1962FCKEditor2.6.3配合Java的使用步骤 ... -
AJAX+Prototype的联动菜单
2008-12-05 09:26 1333客户端代码 select.html [html] <ht ... -
使用JSON来做数据传输的动态下拉列表 分享
2008-12-05 09:24 1621之前也写过一个使用XML文件来传送数据的动态下拉列表,前段时间 ... -
掌握 Ajax,第 10 部分: 使用 JSON 进行数据传输
2008-12-05 09:16 640以原生方式操作 JavaScript 对象 develope ...
相关推荐
4. **数据存储与状态管理**:为了跟踪当前选中的Tab,开发者需要在JavaScript中存储和管理状态。这可能通过全局变量、对象属性或者使用`localStorage`来实现。 5. **动画效果**:不规则的Tab效果可能包含动画过渡,...
在JavaScript中实现Tab滚动功能是一项常见的前端开发任务,主要用于创建具有滚动效果的选项卡界面,让用户可以方便地浏览和切换多个视图。本教程将基于提供的`tab2011.css`和`tab2011.js`文件,探讨如何通过...
在移动应用开发中,Tab(标签)是一种常见的用户界面元素,用于展示多个并行的视图或内容区域。"炫酷tab页"通常指的是设计独特、交互效果吸引人的Tab组件,能够提升用户的操作体验和应用的整体美感。在这个"炫酷tab...
这通常是通过在JavaScript中设置一个定时器(如`setInterval`)来实现的,它会周期性地调用切换tab项的函数。 为了实现tab项的自动切换功能,我们通常需要一个Tab类来封装相关的逻辑,包括初始化、事件绑定以及切换...
JavaScript(简称JS)是一种轻量级的解释型编程语言,广泛应用于网页和网络应用开发,实现客户端的交互效果。在本案例中,我们关注的是"经典JS TAB 滑动门代码",这是一种常见的前端技术,用于创建动态的、可交互的...
本文将深入探讨如何自己实现一个Tab标签组件,主要针对标题为“自己实现的Tab标签组件”的主题,结合提供的博客链接(虽然实际链接无法在此环境中访问,但我们可以根据常规的组件开发流程进行分析)以及标签“源码”...
总的来说,JavaScript tab标签切换效果的实现涉及到了前端开发中的基本技能,包括DOM操作、事件处理、CSS样式控制以及状态管理。通过学习和实践此类项目,开发者可以提升自己的前端技能,更好地理解和运用JavaScript...
在本示例中,layui的Tab组件可能被用到了,它支持自定义样式和多种切换效果,可以轻松实现竖直切换。layui的API和文档可以帮助开发者快速理解和应用此特效。 5. **响应式设计**:考虑到现代网页设计对多设备兼容性...
4. **DOM操作**:在JavaScript中,Document Object Model(DOM)提供了操作HTML元素的方法。通过`document.getElementById`或`document.querySelector`选取元素,然后修改其`style`属性或添加/删除类名,实现样式的...
在IT行业中,"tab块测试可用"这一主题主要涉及到网页设计和前端开发,特别是与用户界面(UI)和用户体验(UX)设计相关的部分。Tab块通常用于组织和展示大量信息,使得用户能够通过切换不同的选项卡来查看相关内容,...
在IT行业中,下拉式Tab标签导航是一种常见的用户界面(UI)设计模式,它用于组织和切换多个内容区域,提供了一种高效的屏幕空间利用方式。这种设计尤其适用于移动设备,因为它们可以节省有限的屏幕空间,同时保持...
在Ace模板中,可能已经内置了一些自定义样式和JavaScript,以实现更美观、更符合模板风格的tab切换效果。这可能涉及到对Bootstrap默认CSS的覆盖,以及使用jQuery来处理事件和动画效果。例如,可能会用到以下...
这些图片可能被HTML引用,或者在JavaScript中动态加载。在CSS中,可能会对这些图片进行尺寸调整、位置定位等样式设置,以适应幻灯片的设计。 5. **其他代码(如:jQuery库或其他框架)**: 如果"index.html"或"js...
首先,JavaScript(简称JS)是Web开发中的关键脚本语言,它允许开发者在不刷新页面的情况下动态更新内容,创建交互式用户界面。在Tab切换效果中,JS主要用于监听用户的点击事件,根据用户的选择切换对应的Tab内容。 ...
JQuery Tab 效果是一种常见的前端网页...总的来说,JQuery Tab效果是前端开发中的一个基础且实用的功能,它涉及到DOM操作、事件处理、样式控制等多个方面,通过学习和实践,你可以掌握这一技术并应用到自己的项目中。
标题“tab选项多对多”通常指的是在编程或者软件开发中,特别是在Web应用中,如何实现Tab组件的多对多关系。在Web界面设计中,Tab控件是一种常见的交互元素,用于将大量信息分组并展示在不同的标签页下,以提高用户...
【标题】:“纵向Tab ---ext”指的是在网页或者应用程序中使用的一种特殊布局方式,将传统的水平排列的Tab标签改为垂直方向展示。这种设计通常用于解决屏幕空间有限或需要清晰展示大量Tab标签的情况,使得用户可以更...
在IT行业中,jQuery库是网页开发中不可或缺的一部分,尤其在处理DOM操作、事件处理和动画效果时。"jQuery tab标签幻灯片"是一款利用jQuery实现的动态效果,它结合了tab式导航和幻灯片展示,为用户提供了一种交互式的...
为了使tab结构更加适应现代Web开发,还可以考虑使用前端框架如Bootstrap或Vue.js等提供的现成的tab组件,这些组件通常包含更丰富的功能,如动画过渡、自动激活、响应式设计等。在实际开发中,确保tab结构的可访问性...
在网页设计中,"jQuery按键渐变显示tab标签"是一种常见的交互效果,它使得用户可以通过按下键盘上的按键来逐个浏览或切换不同的tab内容。这种效果不仅提升了用户体验,还为网页增添了动态美感。下面我们将详细探讨这...