tab页 选项卡 切换效果

た 入场券 2022-01-07 06:43 537阅读 0赞

效果图
20190625151915714.png
html页面结构

  1. <div class="tabbox" id="clicktab">
  2. <ul class="tabbtn">
  3. <li id="li0" class="current"><span>基本信息</span></li>
  4. <li id="li1"><span>li1</span></li>
  5. <li id="li2><span>li2</span></li>
  6. </ul>
  7. <div class="tabcon">
  8. <form id="form" role="form" autocomplete="off">
  9. <%-->这里是form内容<--%>
  10. </form>
  11. </div>
  12. <div class="tabcon">
  13. <%-->放个iframe<--%>
  14. <iframe id="frame-1" src="" width='100%' height='400px'></iframe>
  15. </div>
  16. <div class="tabcon">
  17. <%-->随便写点什么<--%>
  18. </div>
  19. </div>

js

  1. // 全局变量
  2. var clickFlag1 = false;
  3. var clickFlag2 = false;
  4. $(function(){
  5. //切换table页面
  6. selectTabbtn();
  7. })
  8. function selectTabbtn(){
  9. //选项卡鼠标点击事件
  10. $('#clicktab .tabbtn li').click(function(){
  11. TabSelect("#clicktab .tabbtn li", "#clicktab .tabcon", "current", $(this))
  12. });
  13. $('#clicktab .tabbtn #li1').click(function(){
  14. if(!clickFlag1){
  15. // 加载页面业务逻辑
  16. /*业务逻辑*/
  17. $("#frame-2").prop("src","");
  18. clickFlag1 = true; // 再次点击选项卡时,不再重新加载页面
  19. }
  20. //当前选项卡对应页面展示
  21. TabSelect("#clicktab .tabbtn li", "#clicktab .tabcon", "current", $(this));
  22. });
  23. $('#clicktab .tabbtn #li2').click(function(){
  24. if(!clickFlag2){
  25. // 加载业务逻辑页面
  26. clickFlag2 = true; // 再次点击选项卡时,不再重新加载页面
  27. }
  28. TabSelect("#clicktab .tabbtn li", "#clicktab .tabcon", "current", $(this));
  29. });
  30. $('#clicktab .tabbtn li').eq(0).trigger("click"); //默认展示第一个选项卡页面
  31. }
  32. //显示被点击的选项卡对应页面
  33. function TabSelect(tab,con,addClass,obj){
  34. //被点击的选项卡
  35. var $_self = obj;
  36. //所有选项卡
  37. var $_nav = $(tab);
  38. $_nav.removeClass(addClass);
  39. $_self.addClass(addClass);
  40. //被点击选项卡的序号
  41. var $_index = $_nav.index($_self);
  42. //所有的内容项
  43. var $_con = $(con);
  44. $_con.hide();
  45. $_con.eq($_index).show();
  46. }

参考css样式

  1. ul li {
  2. margin: 0;
  3. padding: 0;
  4. list-style-type: none;
  5. }
  6. /* tabbox */
  7. .tabbox {
  8. width: 100%;
  9. overflow: hidden;
  10. float: left;
  11. }
  12. .tabbox .tabbtn {
  13. width: 100%;
  14. background: #f1f1f1;
  15. height: 31px;
  16. margin-left: 0;
  17. border-bottom: solid 1px #ddd;
  18. margin-bottom: 0
  19. }
  20. .tabbox .tabbtn li {
  21. float: left;
  22. position: relative;
  23. margin: 0 0 0 -1px;
  24. border: solid 1px #ddd;
  25. border-top: none;
  26. background: #f1f1f1;
  27. }
  28. .tabbox .tabbtn li a, .tabbox .tabbtn li span {
  29. display: block;
  30. float: left;
  31. height: 30px;
  32. line-height: 30px;
  33. overflow: hidden;
  34. width: 116px;
  35. text-align: center;
  36. font-size: 12px;
  37. cursor: pointer;
  38. }
  39. .tabbox .tabbtn li.current {
  40. border-bottom: none;
  41. border-top: none;
  42. }
  43. .tabbox .tabbtn li.current a, .tabbox .tabbtn li.current span {
  44. border-top: solid 3px #f3b970;
  45. height: 31px;
  46. line-height: 31px;
  47. background: #fff;
  48. color: #f3b970;
  49. font-weight: 800;
  50. }
  51. .tabbox .tabcon {
  52. width: 100%;
  53. }

发表评论

表情:
评论列表 (有 0 条评论,537人围观)

还没有评论,来说两句吧...

相关阅读