+ -
当前位置:首页 → 问答吧 → 有个tab切换的小问题,大家帮下忙。

有个tab切换的小问题,大家帮下忙。

时间:2009-04-12

来源:互联网

复制代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>无标题文档</title>
  6. <style>
  7. <!--
  8. *{padding:0; margin:0;}
  9. .search-select li,.s-title li{float:left; line-height:20px; margin-left:10px;}
  10. .search-form,.list{clear:both;}
  11. -->
  12. </style>
  13. <script type="text/javascript" src="jquery.js"></script>
  14. <script type="text/javascript" src="skiyotabs.js"></script>
  15. <script type="text/javascript">
  16. $(function(){
  17.  $('#quickSearch').SkiyoTabs({
  18.    className:'selected',  //被选中时候li的样式.可以参看上面的样式 默认为selected
  19.    eventName:'click'
  20.  });
  21.  $('#ranking').SkiyoTabs({
  22.    className:'selected',  //被选中时候li的样式.可以参看上面的样式 默认为selected
  23.    eventName:'mouseover'
  24.  });
  25. });
  26. </script>
  27. </head>
  28. <body>
  29. <div class="fun-area">
  30.     <span class="fun-bar">快捷搜索</span>
  31.     <div id="quickSearch">
  32.     <ul class="search-select t">
  33.      <li><a href="#quickSearch1">全 文</a></li>
  34.      <li><a href="#quickSearch2">公司名</a></li>
  35.      <li><a href="#quickSearch3">职位名</a></li>
  36.     </ul>
  37.     <a class="advanced" href="#">高级搜索</a>
  38.     <div id="quickSearch1" class="search-form c">
  39.      <form>
  40.      <span class="search-q"><input id="allkey" value="请输入您需要搜索的关键字" name="search_text" type="text"></span>
  41.      <button name="search" type="submit"> 搜 索 </button>
  42.      </form>
  43.     </div>
  44.     <div id="quickSearch2" class="search-form c">
  45.      <form>
  46.      <span class="search-q"><input id="comkey" value="请输公司的关键字" name="search_text" type="text"></span>
  47.      <button type="submit"> 搜 索 </button>
  48.      </form>
  49.     </div>
  50.     <div id="quickSearch3" class="search-form c">
  51.      <form>
  52.      <span class="search-q"><input id="jobkey" value="请输职位的关键字" name="search_text" type="text"></span>
  53.      <button type="submit"> 搜 索 </button>
  54.      </form>
  55.     </div>
  56.     </div>
  57.    </div>
  58.    <div class="col-bar" id="ranking">
  59.     <div class="s-title">
  60.      <h2>热门榜单</h2>
  61.      <ul class="t"><li><a href="#rank1">企业</a></li><li><a href="#rank2">人才</a></li></ul>
  62.     </div>
  63.     <div class="list c" id="rank1">
  64.      <ul>
  65.       <li><a href="#" target="_blank" title="">湖北工业大学校园招聘</a></li>
  66.       <li><a href="#" target="_blank" title="">湖北工业大学校园招聘</a></li>
  67.       <li><a href="#" target="_blank" title="">湖北工业大学校园招聘</a></li>
  68.       <li><a href="#" target="_blank" title="">湖北工业大学校园招聘</a></li>
  69.       <li><a href="#" target="_blank" title="">湖北工业大学校园招聘</a></li>
  70.       <li><a href="#" target="_blank" title="">湖北工业大学校园招聘</a></li>
  71.       <li><a href="#" target="_blank" title="">湖北工业大学校园招聘</a></li>
  72.       <li><a href="#" target="_blank" title="">湖北工业大学校园招聘</a></li>
  73.       <li><a href="#" target="_blank" title="">湖北工业大学校园招聘</a></li>
  74.       <li><a href="#" target="_blank" title="">湖北工业大学校园招聘</a></li>
  75.      </ul>
  76.     </div>
  77.     <div class="list c" id="rank2" style="display:none;">
  78.      <ul>
  79.       <li><a href="#" target="_blank" title="">jQuery插件 查看点击数</a></li>
  80.       <li><a href="#" target="_blank" title="">湖北工业大学校园招聘</a></li>
  81.       <li><a href="#" target="_blank" title="">jQuery插件 查看点击数</a></li>
  82.       <li><a href="#" target="_blank" title="">湖北工业大学校园招聘</a></li>
  83.       <li><a href="#" target="_blank" title="">jQuery插件 查看点击数</a></li>
  84.       <li><a href="#" target="_blank" title="">湖北工业大学校园招聘</a></li>
  85.       <li><a href="#" target="_blank" title="">湖北工业大学校园招聘</a></li>
  86.       <li><a href="#" target="_blank" title="">湖北工业大学校园招聘</a></li>
  87.       <li><a href="#" target="_blank" title="">湖北工业大学校园招聘</a></li>
  88.       <li><a href="#" target="_blank" title="">湖北工业大学校园招聘</a></li>
  89.      </ul>
  90.     </div>
  91.    </div>
  92. </body>
  93. </html>


以上是html代码


复制代码
  1. (function($) {
  2.  $.fn.SkiyoTabs = function(options) {
  3.   var opts = $.extend({}, $.fn.SkiyoTabs.defaults, options);
  4.   return this.each(function() {
  5.    var target = $(this);
  6.    var div = target.find('div.c');  //---------------------------------
  7.    var tabs = target.find('ul.t li');  //---------------------------------
  8.    var now = new Date().valueOf();
  9.    var flag = true;
  10.    function Tabs() {
  11.     if(!flag) { //第一次必须执行
  12.      if(new Date().valueOf() - now < 300) {  //阻止快速事件
  13.       return false; 
  14.      }
  15.     } else {
  16.      flag = false; 
  17.     }
  18.     if($(this).hasClass(opts.className)) {  //如果当前被击中就终止
  19.      return false;
  20.     }
  21.     var href = $(this).find("a").attr("href");
  22.     var rel = $(this).find("a").attr("rel");  //ajax请求url
  23.     var i = div.filter(href);          //当前div
  24.     if(rel) {                          //如果ajax请求url不为空
  25.      i.html('loading...');
  26.      $.ajax({
  27.       url: rel,
  28.       cache: false,
  29.       success: function(html) {
  30.        i.html(html);
  31.       },
  32.       error:function() {
  33.        i.html('error');
  34.       }
  35.      });
  36.     }
  37.     div.hide();
  38.     i.show();
  39.     //i.fadeIn('slow');
  40.     target.find('ul.t li').removeClass(opts.className); //---------------------------------
  41.     $(this).addClass(opts.className);
  42.     now = new Date().valueOf();
  43.     return false;  //防止url出现#
  44.    }
  45.    //绑定并触发事件
  46.    tabs.bind(opts.eventName == 'all' ? 'click mouseover' : opts.eventName, Tabs).filter(':first').trigger(opts.eventName == 'all' ? 'click' : opts.eventName);
  47.   });
  48.  };
  49.  $.fn.SkiyoTabs.defaults = {
  50.   className: 'selected',
  51.   eventName: 'all'  //可以为click mouserover all
  52.  };
  53. })(jQuery);


以上是skiyotabs.js代码。//---------------------------------标注处为改动过的地方

切换的时候在ie7和火狐中都正常,可是ie6却没反应。请大家帮我看看是什么原因!

因为标题和内容中有可能同时存在ul和div,所以我在原来的var div = target.find('div'); 基础上改成了var div = target.find('div.c');   target.find('ul li')改成了target.find('ul.t li')。 ie6就不正常了!

作者: jacksuc   发布时间: 2009-04-12

为什么不按class取呢?我看你class不同啊!

作者: kuku-1   发布时间: 2009-04-12

引用
引用第1楼kuku-1于2009-04-12 09:28发表的  :
为什么不按class取呢?我看你class不同啊!


你是说不用div和ul直接用class吗?

作者: jacksuc   发布时间: 2009-04-12