jquery实现多标签折页

页面文件如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>多标签折页</title>
<link href="css/style.css" type=text/css rel=stylesheet / >
<link href="css/foot.css" type=text/css rel=stylesheet / >
<link href="css/top.css" type=text/css rel=stylesheet / >
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jQuery.moretagPack.js"></script>
</head>
<body>

             <DIV id="divContainer" align="center" style="margin:20px;">
       <!-- 折页标签 -->
    <DIV class=C26>
       <A title="PLM" class="a_C01" href="javascript:;">PLM</A>
       <A title="ERP" class="a_C2" href="javascript:;">ERP</A>
       <A title="IT" class="a_C2" href="javascript:;">IT</A>
       <A title="工控" class="a_C2" href="javascript:;">工控</A>
     </DIV> 
     <!-- 上部内容1 -->  
    <div class="Ctop" title="PLM">
     <h2><a hred="#">渠道共赢——ERP市场的成功之路</a></h2>
       <ul>
       <li><a href="#" rel="external">[高新信息]</a></li>
       <li><a href="#" rel="external">[产业信息]</a></li>
       <li><a href="#" rel="external">[发展信息]</a></li>
       <li><a href="#" rel="external">[信息计划]</a></li>
      </ul>
     </div>
     <!-- 文字列表1 -->
           <div class="pC" title="PLM">
      <dl>
       <dt><span><a href="#" rel="external">浙江年画生产商称华南虎照片源自其产品(图)</a></span>10-25</dt>
       <dt><span><a href="#" rel="external">三地发现年画"周老虎" 挺虎派官员暗示照片有假</a></span>10-25</dt>
       <dt><span><a href="#" rel="external">百余记者争扑老虎新闻 当地披露一串虎消息(图)</a></span>10-25</dt>
       <dt><span><a href="#" rel="external">周正龙回应华南虎年画:年画是照着照片画的(图)</a></span>10-25</dt>
       <dt><span><a href="#" rel="external">在东莞找到第三幅与陕西“华南虎”相似的年画</a></span>10-25</dt>
       <dt><span><a href="#" rel="external">二维CAD复后的思考后的思考..</a></span>10-25</dt>
       <dt><span><a href="#" rel="external">郝劲松将作客网易聊天室,回答我们和您.</a></span>10-25</dt>
      </dl>
     </div>
     <!-- 上部内容2 -->  
         <div class="Ctop" style="display:none;" title="ERP">
      <h2><a hred="#">ERP市场—渠道共赢—的成功之路</a></h2>
       <ul>
        <li><a href="#" rel="external">[安全信息]</a></li>
        <li><a href="#" rel="external">[信息产业]</a></li>
        <li><a href="#" rel="external">[信息发展]</a></li>
        <li><a href="#" rel="external">[信息]</a></li>
       </ul>
      </div>
      <!-- 文字列表2 -->
           <div class="pC" style="display:none;" title="ERP">
      <dl>
        <dt><span><a href="#" rel="external">维CAD复兴D复兴D二维CAD复兴</a></span>10-25</dt>
        <dt><span><a href="#" rel="external">二维CAD复兴背后的思考后的思考...</a></span>10-25</dt>
        <dt><span><a href="#" rel="external">二维CAD复背后的思考后的思考</a></span>10-25</dt>
        <dt><span><a href="#" rel="external">二维CAD复兴后的思考...</a></span>10-25</dt>
        <dt><span><a href="#" rel="external">二维CA复兴背后的思考后的思考</a></span>10-25</dt>
        <dt><span><a href="#" rel="external">二维CAD复后的思考后的思考..</a></span>10-25</dt>
        <dt><span><a href="#" rel="external">二维CD复兴背后后的思考...</a></span>10-25</dt></dl>
     </div>
           <!-- 上部内容3 -->
           <div class="Ctop" style="display:none;" title="IT">
     <h2><a hred="#">成功之路—渠道共赢—ERP市场的</a></h2>
      <ul>
       <li><a href="#" rel="external">[信息]</a></li>
       <li><a href="#" rel="external">[信息产业]</a></li>
       <li><a href="#" rel="external">[信息发展]</a></li>
       <li><a href="#" rel="external">[信息]</a></li>
      </ul>
     </div>
     <!-- 文字列表3 -->
           <div class="pC" style="display:none;" title="IT">
      <dl>
       <dt><span><a href="#" rel="external">河南郏县违规征地 村民实名举报信被公开</a></span>10-25</dt>
       <dt><span><a href="#" rel="external">二维CAD复兴背后的思考后的思考...</a></span>10-25</dt>
       <dt><span><a href="#" rel="external">鑫诺二号因故障无法工作 年底前最后抢救 </a></span>10-25</dt>
       <dt><span><a href="#" rel="external">二维CAD复兴后的思考...</a></span>10-25</dt>
       <dt><span><a href="#" rel="external">孟加拉国强风暴导致过万人丧生(</a></span>10-25</dt>
       <dt><span><a href="#" rel="external">开创基层党的建设新局面</a></span>10-25</dt>
       <dt><span><a href="#" rel="external">二维CD复兴背后后的思考...</a></span>10-25</dt>
      </dl>
     </div>
           <!-- 上部内容4 -->
     <div class="Ctop" style="display:none;" title="工控">
      <h2><a hred="#">渠道共赢—ERP市场—的成功之路</a></h2>
      <ul>
       <li><a href="#" rel="external">[观点信息]</a></li>
       <li><a href="#" rel="external">[信息产业]</a></li>
       <li><a href="#" rel="external">[信息发展]</a></li>
       <li><a href="#" rel="external">[信息]</a></li>
      </ul>
     </div>
     <!-- 文字列表4 -->
     <div class="pC" style="display:none;" title="工控">
      <dl>
       <dt><span><a href="#" rel="external">三部委酝酿征收排放税 有车族为尾气买单</a></span>10-25</dt>
       <dt><span><a href="#" rel="external">李光耀:北京不会因奥运而对"台独"手软(图)</a></span>10-25</dt>
       <dt><span><a href="#" rel="external">二维CAD复背后的思考后的思考</a></span>10-25</dt>
       <dt><span><a href="#" rel="external">12岁女孩替母扫街被誉为成都最美环卫工(</a></span>10-25</dt>
       <dt><span><a href="#" rel="external">二维CA复兴背后的思考后的思考</a></span>10-25</dt>
       <dt><span><a href="#" rel="external">杭州男子设计出大型"无性别公厕</a></span>10-25</dt>
       <dt><span><a href="#" rel="external">二维CD复兴背后后的思考...</a></span>10-25</dt>
      </dl>
     </div>
     </div>
<div align="center" style="text-align:left;padding:10px 0px 0px 4px;margin-top:20px;margin-left:auto;margin-right:auto;border:1px dashed #cccccc;width:450px; height:215px;">
<b>目标</b> --
多个标签页的折叠显示 ( 用jquery框架实现这一目标 )
<br/><br/>

<b>方案</b> --
点击某个标签页后,样式为选择状态,其他的非选择状态,下方的内容根据选择的标签页不同,变幻出只属于某个标签页下的内容。 <br/> <br/>

<b>实施</b> --
为了符合web2.0的标准,将表现层,代码层,和显示层彻底分离开来。有关实现"多个标签页的折叠显示"的代码位于 js文件夹下的jQueryManipulate.js文件中。
主要用到了<span style="color:red;">attr(),each(fn) ,css() ,show() ,hide()</span>这几个主要的函数。有关这几个函数的定义,和使用方法,大家可以看看它的API。
我们先来看看这个DOM树的构造图。

<br/>
<img src="images/dom.jpg" alt="图片无法显示"/>
</div>
</body>
</html>

js文件:


// 控制前台页面中标签为input类别为text和password以及标签为textarea的页面显示
$(document).ready(function(){   
     if ($.browser.msie)
  {
     $("input[@type='text'],input[@type='password'],textarea").focus(function(){
     $(this).addClass("ie_focus");
   }
   )
   .blur(function(){
     $(this).removeClass("ie_focus");
   }
   )
  }    
  }
  )

// 控制页面中区块的隐藏 | 显示
$(function(){     
     $("div #rollA").click(function(){ 
   var displayVal = $("#whitepaperDiv").css("display") ;    
   if (displayVal == 'none')  // 显示
   { 
   
       $('div #whitePaperImg').attr({src: "images/icon_portlet_minimize.gif", title: "Minimize"});    
       $('#whitepaperDiv').show("slow") ;
   }
   else                    // 隐藏
   {
       $('div #whitePaperImg').attr({ src: "images/icon_portlet_maximize.gif", title: "Maximize" }); 
       $('#whitepaperDiv').hide("slow") ;
   }
   }
   )
  }
  )
// edit in place and now show
$(function(){
setClickable();
});

function setClickable() {
$('#editInPlace').click(function() {
var textarea = '<div><textarea rows="10" cols="60" style="width:750px;">'+$(this).html()+'</textarea>';
var button  = '<div><input type="button" value="SAVE" class="saveButton" /> OR <input type="button" value="CANCEL" class="cancelButton" /></div></div>';
var revert = $(this).html();
$(this).after(textarea+button).remove();
$('.saveButton').click(function(){saveChanges(this, false);});
$('.cancelButton').click(function(){saveChanges(this, revert);});
})
.mouseover(function() {
$(this).addClass("editable");
})
.mouseout(function() {
$(this).removeClass("editable");
});
};

function saveChanges(obj, cancel) {
if(!cancel) {
var t = $(obj).parent().siblings(0).val();
}
else {
var t = cancel;
}
if(t=='') t='(click to add text)';
$(obj).parent().parent().after('<div id="editInPlace">'+t+'</div>').remove();
setClickable();

// 控制页面中"新闻速递","厂商动态"的隐藏 | 显示
$(document).ready(function(){     
     $("#divnews .h26 A").click(function(){         
   // 确保点击的为指定样式
   if ($(this).attr('class') != 'a_01')
   {
    // 确保点击的为指定样式
    $('#divnews .h26 A').each(function(i){
     if ($(this).attr("class") != 'a_01')
     {
       $(this).attr("class","a_01");
     }
     else
     {
      $(this).attr("class","a_2");
     }      
    });
    // switchShowHide();
    $('#divnews .pL').each(function(i){
       var displayVal = $(this).css("display") ; 
       if (displayVal == 'none')  // 显示
     {        
      $(this).show() ;
     }
     else                    // 隐藏
     {  
      $(this).hide() ;
     }
    });
   }
   
   })  
  })

// 多页折叠的隐藏 | 显示
$(document).ready(function(){   
  
     $("#divContainer .C26 a").click(function(){      
   // 确保点击的为指定样式
   if ($(this).attr('class') != 'a_C01')
   {   
    // 折叠标签页的样式指定
    $('#divContainer .C26 A').each(function(i){
        $(this).attr("class","a_C2");
    });
    $(this).attr("class","a_C01");
    // 获取选择的标签
    var selectTitle = $(this).attr("title");    
    // 对应标签下上部内容区块的显示 | 隐藏
    $('#divContainer .Ctop').each(function(i){
       var displayVal = $(this).css("display") ; 
       var title = $(this).attr("title");
       if (displayVal == 'none' && title == selectTitle)  // 显示
     {        
      $(this).show() ;
     }
     else                    // 隐藏
     {  
      $(this).hide() ;
     }
    });
    // 文字列表区块的显示 | 隐藏
    $('#divContainer .pC').each(function(i){
       var displayVal = $(this).css("display") ; 
       var title = $(this).attr("title");
       if (displayVal == 'none'  && title == selectTitle)  // 显示
     {        
      $(this).show() ;
     }
     else                    // 隐藏
     {  
      $(this).hide() ;
     }
    });
   }
   
   })  
  })

// 全选|取消全选功能
$(function() {
    $("#selectall").click(function() {
        $("input[@name='shareuser[]']").each(function() {
            $(this).attr("checked", true);
        });
    });
    $("#deselectall").click(function() {
        $("input[@name='shareuser[]']").each(function() {
            $(this).attr("checked", false);
        });
    });
});

// 图片文字的无缝循环滚动功能
$(function() {
    var speed = 60 ; 
 $('#demo2').html($('#demo1').html());
 
 var MyMar2=window.setInterval(Marquee2,speed);
    $('#demo').mouseover(function(){      
  window.clearInterval(MyMar2);
 });
 $('#demo').mouseout(function(){  
  MyMar2=window.setInterval(Marquee2,speed);
 }); 
});

 
function Marquee2()

 var demoscrolltop = $('#demo')[0].scrollTop ;
 var demo1offsetheight = $('#demo1')[0].offsetHeight ;
 var demo2offsettop = $('#demo2').get(0).offsetTop ;
 //alert('demoscrolltop:'+demoscrolltop+',demo1offsetheight:'+demo1offsetheight+',demo2offsettop:'+demo2offsettop);
 if (demo2offsettop - demoscrolltop <= 0)
 {
  demoscrolltop = demoscrolltop - demo1offsetheight;
 }
 else
 {
  $('#demo')[0].scrollTop++;
 }
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值