форум vBSupport.ru > vBulletin > Вопрос — Ответ
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
Happ
Знаток
 
Happ's Avatar
Default Создаем удобные, практичные вкладки с помощью jQuery
1

Думая многим эта идея понравится.
Примерно последние месяц-два все чаще стали появляться блоки, переключаемые с помощью вкладок-табуляторов, которые, судя по всему, становятся все популярнее.

Их полезность заключается в том, что они позволяют существенно сократить площадь, занимаемую информацией, выводимой в сайдбаре. К тому же это оригинально и красиво

Примеры

1. Как я уже сказал выше, вкладки есть прямо в моем блоге.
2. Вкладки на блоге OneGadget.ru.
3. Специальный отдельный пример (который можно скачать ниже).

Скачать
Удобные, практичные вкладки с помощью jQuery

А теперь я расскажу, как легко и просто прикрутить к свому блогу специальный скрипт, который позволяет это изящество реализовать. На мои глаза попадались разные вариации создания подобных вкладок и я выбрал, на мой взгляд, самый простой из них.

Итак, приступим.

1. В первую очередь нам потребуется популярная сегодня библиотека jQuery. Рекомендую скачать упакованную версию, которая занимает примерно 30 килобайт.

Копируем ее в папку с шаблоном блога и подключаем следующим кодом:

Code:
     <script type="text/javascript" src="имя_файла.js"></script>
2. Затем нужно создать в сайдбаре блоки, которые будут переключаться с помощью закладок:

Code:
      <ul class="tabs tabs1">
        <li class="t1 tab-current"><a>Первая вкладка</a></li>
        <li class="t2"><a>Вторая вкладка</a></li>
      </ul>
      <div class="t1">
        контент первого блока
      </div>
      <div class="t2">
        контент второго блока
      </div>
3. CSS-стили можно увидеть в исходном коде страницы примера. Здесь я только хочу отметить, что для тех контентных блоков, которые по умолчанию скрыты, нужно указать соответствующее CSS-правило:

Code:
      div.t2,
      div.t3,
      div.t4 {display: none}
Это необходимо на случай, когда у пользователя отключена в браузере поддержка JavaScript, иначе все блоки станут видны.

4. Теперь осталось подключить (по аналогии с jQuery) совсем небольшой скрипт, который и позволяет нам переключать закладки. Выглядит он следующим образом:


Code:
   var $j = jQuery.noConflict();

      $j(document).ready(function() {

      $j('ul.tabs li').css('cursor', 'pointer');

      $j('ul.tabs.tabs1 li').click(function(){
        var thisClass = this.className.slice(0,2);
        $j('div.t1').hide();
        $j('div.t2').hide();
        $j('div.' + thisClass).show();
        $j('ul.tabs.tabs1 li').removeClass('tab-current');
        $j(this).addClass('tab-current');
        });

      });
На что прошу обратить внимание. Такие классы, как tabs1, t1, t2, должны быть уникальными. Т.е. если вы хотите создать, например, 2 отдельных блока с двумя вкладками в каждом, то для первого классами будут: tabs1, t1, t2, для второго: tabs2, t3, t4. Естественно, эти классы можно обозвать как угодно, главное - чтобы они не повторялись от блока к блоку.

При увеличении количества вкладок или блоков с вкладками, параметры в скрипт добавляются по аналогии, думаю, в этом не сложно разобраться.
Internet Explorer

Он, как всегда, отличился. Поскольку у тега ссылок во вкладках не используется параметр href (дабы при клике на них экран не прокручивался), IE6 и IE7 не воспринимают прописанные CSS-правила при наведении курсора на вкладку (не знаю почему, но в IE7 на моем блоге это работает).
Заключение

Как вы наверняка заметили (если посмотрели исходный код страницы примера), работа по реализации таких вкладок завязана на использовании CSS, т.е. установка скриптов занимает самую малую часть процесса, основную же часть составляет прописывание каскадной таблицы стилей, которая придаст вкладкам нужное оформление.

В примере все настроено так, что, если у посетителя отключена поддержка JavaScript, он увидит информацию из первой вкладки. Поэтому на такой случай рекомендую в первой вкладке вставлять наиболее важный контент.

Есть проблема. Когда я вставляешь скрипт из 4 пункта, корячит весь шаблон, т.е у меня на главной 3 столбца с инфой(vbadvanced), а при подключении сего скрипта все уходит в 1 колонку.


Статья взята с http://dimox.name
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
kerk
k0t
 
kerk's Avatar
Default
0

еще один глюк со сторонним фреймворком =\
ну нафига, скажите мне, использовать жкуери, если есть уже готовое в форуме?
==
не спорю, jQuery сильная библиотека (как и многие другие), но вот только в вобле зачем ее применять, если есть готовые скрипты в дистрибутиве?
очень даже нехилая библиотека YUI (от YAHOO)
 
 
Red-Devil
Гость
Default

Quote:
Originally Posted by kerk View Post
еще один глюк со сторонним фреймворком =\
ну нафига, скажите мне, использовать жкуери, если есть уже готовое в форуме?
==
не спорю, jQuery сильная библиотека (как и многие другие), но вот только в вобле зачем ее применять, если есть готовые скрипты в дистрибутиве?
очень даже нехилая библиотека YUI (от YAHOO)
К YUI все статьи на английском, им будет неудобно копипастить)
Ето же нада переводить, а для начала ищё и найти нужное)
 
 
Happ
Знаток
 
Happ's Avatar
Default
0

Если бы была возможность сделать такое в YUI я б с радостью, но т.к может быть даже и можно похоже никто не знает как... Поэтому и спрашиваю на счет jQuery.
 
 
Ghost
Гуру
 
Ghost's Avatar
Default
0

ммм... на орге:
AJAX Tabs Content Script v2
AJAX Tabs Content Script - Version 3.0 (YUI)
UKBL- Easy Menu Tabs
Another Forum Tabs

здесь:
Another Forum Tabs - панель линков

второй в списке - с использованием YUI

Ghost добавил 29.06.2009 в 15:34
Quote:
Originally Posted by Happ View Post
то для первого классами будут: tabs1, t1, t2, для второго: tabs2, t3, t4. Естественно, эти классы можно обозвать как угодно, главное - чтобы они не повторялись от блока к блоку
А как насчет ID вместо CLASS?

Last edited by Ghost : 06-29-2009 at 03:34 PM. Reason: Добавлено сообщение
 
 
хрюк
Гость
Default

И еще один
[YUI] Tabbed Latest X Objects
 
 
Happ
Знаток
 
Happ's Avatar
Default
0

Хм, кто-нибудь может скинуть:
http://www.vbulletin.org/forum/showt...highlight=tabs
Я переведу.

Мне особо сейчас не важно какой библиотекой будет пользоваться у меня этот скрипт, мне важно сделать его самого. т.к нужно уменьшить используемое пространство на форуме...

Quote:
Originally Posted by Ghost View Post
Цитата:
Сообщение от Happ Посмотреть сообщение
то для первого классами будут: tabs1, t1, t2, для второго: tabs2, t3, t4. Естественно, эти классы можно обозвать как угодно, главное - чтобы они не повторялись от блока к блоку
А как насчет ID вместо CLASS?
Хм, ну у меня так же все через class работает... Id вообще не использую...
 
 
kerk
k0t
 
kerk's Avatar
Default
1

Quote:
Originally Posted by Happ View Post
ну у меня так же все через class работает... Id вообще не использую...
класс может быть один у многих элементов, но ID должен быть уникальным
так нафига усложнять задачу, создавая кучу ненужных классов, если можно использовать идентификатор?
 
 
Happ
Знаток
 
Happ's Avatar
Default
0

Хм, спасибо за инфу, я что то до этого не додумывался ^^
Но я бы был рад если б еще кто нить скинул все таки этот мод. http://www.vbulletin.org/forum/showt...highlight=tabs
 
 
Ghost
Гуру
 
Ghost's Avatar
Default
2

Quote:
Originally Posted by Happ View Post
Но я бы был рад если б еще кто нить скинул все таки этот мод
Держи. Только в следующий раз -- Качаем с официальных сайтов! Заявки принимаются.
Attached Files
File Type: zip AJAX Tabbed Content.zip (21.6 KB, 9 views)
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 11:08 PM.


Powered by vBulletin® Version 3.5.1
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...