Помогите переделать вкладки

Тема в разделе "JavaScript", создана пользователем SocMaster, 16 мар 2014.

Модераторы: ZiX
  1. SocMaster

    SocMaster aka Hakerok

    Регистр.:
    26 июл 2011
    Сообщения:
    202
    Симпатии:
    47
    У меня есть скрипт вкладок, 4 вкладки, после клика на одну из них контент подгружается динамически
    Сделал пагинацию для содержимого вкладок, и встретился с проблемой, как мне открыть нужную вкладку?
    То есть передаю любой параметр в урле который открывает нужную мне вкладку
    Код:
      <script type="text/javascript" >
                        $(document).ready(function() {
                var Tabs = {
                    'Template'    : '&page=$page',
                    'Script'    : 'page=$page',
                    'Install'    : 'age=$page',
                    'Upload'    : 'd=1'
                }
    
                var colors = ['blue','green','red','orange'];
    
                var topLineColor = {
                blue:'lightblue',
                green:'lightgreen',
                red:'red',
                orange:'orange'
                }
    
                var z=0;
                $.each(Tabs,function(i,j) {
                 
                    var tmp = $('<li><a href="#" class="tab '+colors[(z++%4)]+'">'+i+' <span class="left" /><span class="right" /></a></li>');
    
                    tmp.find('a').data('page',j);
    
                    $('ul.tabContainer').append(tmp);
                })
    
                var the_tabs = $('.tab');
    
                the_tabs.click(function(e) {
    
                    var element = $(this);
    
                    if (element.find('#overLine').length) return false;
    
                    var bg = element.attr('class').replace('tab ','');
    
                    $('#overLine').remove();
    
                    $('<div>', {
                    id:'overLine',
                    css: {
                    display:'none'                        ,
                    width:                        element.outerWidth()-2,
                    background:                        topLineColor[bg] || 'white'
                        }                }).appendTo(element).fadeIn('slow');
    
                    if (!element.data('cache'))
                    {
    
                        $('#contentHolder').html('<img src="img/ajax_preloader.gif" width="64" height="64" class="preloader" />');
    
                        $.get(element.data('page'),function(msg) {
                            $('#contentHolder').html(msg);
    
                            element.data('cache',msg);
                        });
                    }
                    else $('#contentHolder').html(element.data('cache'));
    
                    e.preventDefault();
                })
    
                the_tabs.eq(0).click();
            });
            </script>
            <div id="main">
                    <ul class="tabContainer">
                   </ul>
                   <div class="clear"></div>
                    <div id="tabContent">
                
        <div id="contentHolder"> </div>
    
           </div>
    </div>
     
  2. SocMaster

    SocMaster aka Hakerok

    Регистр.:
    26 июл 2011
    Сообщения:
    202
    Симпатии:
    47
    the_tabs.eq(0).click();
    Эта строка открывает вкладку оп дефолту. Как мне туда вставить содержимое "якоря" ?
    the_tabs.eq(window.location.hash).click(); так не работает :/
     
  3. dwarf

    dwarf Постоялец

    Регистр.:
    12 июн 2011
    Сообщения:
    88
    Симпатии:
    18
    window.location.hash содержит еще и #, нужно её обрезать.
    Код:
    var hash = window.location.hash.substr(1);
    the_tabs.eq(hash).click();