Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Единый форум поддержки » Архив » Как прикрутить куки к вкладкам?


Как прикрутить куки к вкладкам?

Сообщений 1 страница 19 из 19

1

Тут сделал простенькие вкладки на css: http://magmell.mybb.ru/ но явно не хватает запоминания, а я в этом деле не силен, может кто подскажет?

Вот сам код вкладок:

Код
Код:
<style>
    .tabs {
      position: relative;   
      min-height: 200px; /* This part sucks */
      clear: both;
      margin: 25px 0;
    }
    .tab1 {
      float: left;
    }
	.tab2 {
      float: right;
    }
	.tab1 label {
      margin-left: -1px;
      left: 1px;
	}
	.tab2 label {
	  margin-right: -18px;
      right: 18px;
	}
    .tab1 label, .tab2 label {
cursor: pointer;
      /* Скругляем верхние уголки */
  -webkit-border-top-left-radius: 15px;
  -webkit-border-top-right-radius: 15px;
  -moz-border-radius-topleft: 15px;
  -moz-border-radius-topright: 15px;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
color: black;
  background: #8B668B;
      padding: 10px; 
      border: none;
 bottom: -5px;
      position: relative;
z-index: 5; 
    }
    .tab1 [type=radio], tab2 [type=radio] {
      display: none;   
    }
	.content1 {
	left: 0;
	}
	.content2 {
	right:0;
	}
    .content1, .content2 {
      position: absolute;
      top: 28px;
      width: 45%;
      background-color: #000000;

color: #fff;
      right: 0;
      bottom: 0;
      padding: 20px;
      border-color: #8B668B; 
	  border-width: 0 2px 2px 2px;
box-shadow: 0 7px 7px #8B668B, 0 -7px 7px #8B668B, 23px 0 20px -23px #8B668B;
border-style: groove;
	  overflow: hidden;
    }
    .content1 > * {
      opacity: 0;
      
      -webkit-transform: translate3d(0, 0, 0);
    
      -webkit-transform: translateX(-100%);
      -moz-transform:    translateX(-100%);
      -ms-transform:     translateX(-100%);
      -o-transform:      translateX(-100%);
      
      -webkit-transition: all 0.6s ease;
      -moz-transition:    all 0.6s ease;
      -ms-transition:     all 0.6s ease;
      -o-transition:      all 0.6s ease;
    }

	.content2 > * {
      opacity: 0;
      
      -webkit-transform: translate3d(0, 0, 0);
    
      -webkit-transform: translateX(100%);
      -moz-transform:    translateX(100%);
      -ms-transform:     translateX(100%);
      -o-transform:      translateX(100%);
      
      -webkit-transition: all 0.6s ease;
      -moz-transition:    all 0.6s ease;
      -ms-transition:     all 0.6s ease;
      -o-transition:      all 0.6s ease;
    }
	
    [type=radio]:checked ~ label {
      background-color: #000000;
box-shadow: 0 -7px 7px #8B668B, 23px 0 20px -23px #8B668B;
color: #fff;
      border: none;
      z-index: 2;
    }
    [type=radio]:checked ~ label ~ .content1, [type=radio]:checked ~ label ~ .content2 {
      z-index: 1;
    }
	[type=radio]:checked ~ label ~ .content1 > *, [type=radio]:checked ~ label ~ .content2 > * {
      opacity: 1;
      
      -webkit-transform: translateX(0);
      -moz-transform:    translateX(0);
      -ms-transform:     translateX(0);
      -o-transform:      translateX(0);
    }
	</style>
	
	<div class="tabs">
  <div class="tab2">
       <input type="radio" id="tab-4" name="tab-group-2" checked>
       <label for="tab-4"><span>Закладка №1</span></label>
       
       <div class="content2">
           <p>Содержание закладки №1</p>
       </div> 
   </div>
    
   <div class="tab2">
       <input type="radio" id="tab-5" name="tab-group-2">
       <label for="tab-5"><span>Закладка №2</span></label>
       
       <div class="content2">
           <p>Содержание закладки №2</p>
           
           <img src="http://placekitten.com/200/100">
       </div> 
   </div>
    
    <div class="tab2">
       <input type="radio" id="tab-6" name="tab-group-2">
       <label for="tab-6"><span>Закладка №3</span></label>
     
       <div class="content2">
           <p>Содержание закладки №3</p>
           
           <img src="http://placedog.com/200/100">
       </div> 
   </div>

 <div class="tab1">
       <input type="radio" id="tab-1" name="tab-group-1" checked>
       <label for="tab-1" class="active"><span>Закладка №1</span></label>
       
       <div class="content1">
           <p>Содержание закладки №1</p>
       </div> 
   </div>
    
   <div class="tab1">
       <input type="radio" id="tab-2" name="tab-group-1">
       <label for="tab-2"><span>Закладка №2</span></label>
       
       <div class="content1">
           <p>Содержание закладки №2</p>
           
           <img src="http://placekitten.com/200/100">
       </div> 
   </div>
    
    <div class="tab1">
       <input type="radio" id="tab-3" name="tab-group-1">
       <label for="tab-3"><span>Закладка №3</span></label>
     
       <div class="content1">
           <p>Содержание закладки №3</p>
           
           <img src="http://placedog.com/200/100">
       </div> 
   </div>
</div>

+1

2

kolobdur74
Хм, забавное решение )
Можно как вариант для имитации onclick использовать :focus.
А зачем куки? Вкладки и вкладки, по-моему они хорошо и без всякого запоминания

0

3

<script type="text/javascript">
function setcOOkie(a,b,c) {if(c){var d = new Date();d.setDate(d.getDate()+c);}if(a && b) document.cookie = a+'='+ encodeURIComponent(b) +(c ? '; expires='+d.toUTCString() : '');else return false;}
function getcOOkie(a) {var b = new RegExp(a+'=([^;]){1,}');var c = b.exec(document.cookie);if(c) c = c[0].split('=');else return false;return c[1] ? decodeURIComponent(c[1]) : false;}
var radio1 = getcOOkie('radio1');
var radio2 = getcOOkie('radio2');
if(radio1)$('input[type="radio"][name="tab-group-1"]').eq(+radio1).click();
if(radio2)$('input[type="radio"][name="tab-group-2"]').eq(+radio2).click();

$('input[type="radio"][name="tab-group-1"]').change(function() {
  var i = $('input[type="radio"][name="tab-group-1"]').index(this)
  setcOOkie('radio1',''+i,30)
});
$('input[type="radio"][name="tab-group-2"]').change(function() {
  var i = $('input[type="radio"][name="tab-group-2"]').index(this)
  setcOOkie('radio2',''+i,30)
});
</script>

Отредактировано Deff (Ср, 15 Янв 2014 15:18:35)

+1

4

sadhaka написал(а):

Можно как вариант для имитации onclick использовать :focus.

:glasses: Не оч удобно, к примеру перемещаем курсор на форму ответа - фокус теряется

0

5

sadhaka написал(а):

А зачем куки? Вкладки и вкладки, по-моему они хорошо и без всякого запоминания

Ну они независимые друг от друга (левая и правая), и мало ли, может пользователю бу нравится, чтобы открывалась сразу ему нужная вкладка, а не перещёлкивать.. В таком варианте мне кажется логичным с куками))

sadhaka написал(а):

Хм, забавное решение )

Мне понравилось, что не надо возится с таблицами - код то не мой, я его просто сделал двухсторонним))

0

6

Deff
Спасибо! :flirt:

0

7

kolobdur74
Поправил

+1

8

kolobdur74 написал(а):

Ну они независимые друг от друга (левая и правая), и мало ли, может пользователю бу нравится, чтобы открывалась сразу ему нужная вкладка, а не перещёлкивать.. В таком варианте мне кажется логичным с куками))

Тогда не понятно зачем мудрить с onclick на css+html, если ужв се равно используем яваскрипт (а это реализуется в 2 строчки).
т.е. как вкладки только на ксс/хтмл - что заработает хоть на чем, круто, а с аппендиксом в виде куков на js, уже странно.
Т.е. если на js функцию переключения вкладок и с куками кода получится в 2 раза меньше и в целом - лаконичнее и красивее.
Так что не знаю, какой смысл в куках.

Deff написал(а):

:glasses: Не оч удобно, к примеру перемещаем курсор на форму ответа - фокус теряется

Есть такое.

0

9

sadhaka написал(а):

т.е. как вкладки только на ксс/хтмл - что заработает хоть на чем, круто, а с аппендиксом в виде куков на js, уже странно.

Я вначале так и хотел, но именно в данном варианте вкладок, я понял, что не хватает куки :D А, хотел и вправду обойтись без скриптов)))

sadhaka написал(а):

Так что не знаю, какой смысл в куках.

Смысл в том, что они куки))) На css к сожалению низзя сделать куки.. :dontknow:

Deff написал(а):

Поправил

Спасибо! :flirt:

0

10

kolobdur74 написал(а):

Смысл в том, что они куки)))

:canthearyou:
в общем, есть классный вариант вкладок на css+html, а всякого яваскрипта с куками я не видела ^^

Отредактировано sadhaka (Ср, 15 Янв 2014 21:52:56)

0

11

sadhaka написал(а):

в общем, есть классный вариант вкладок на css+html, а всякого яваскрипта с куками я не видела

http://chatadelic.net/files/i/s/stol.gif http://chatadelic.net/files/i/s/stol.gif http://chatadelic.net/files/i/s/stol.gif
Кстати, есть смысл выложить куда то эти вкладки и куда?

0

12

kolobdur74 написал(а):

Кстати, есть смысл выложить куда то эти вкладки и куда?

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

Можно мы к себе на квадросаппорт уташшим?

0

13

sadhaka написал(а):

Можно мы к себе на квадросаппорт уташшим?

Конечно :flirt: К тому же он не мой - я его сам нашел, правда анимацию я стырил с Демо - в примере они анимацию зажали, а мне она понравилась)) Как я посмотрел - есть еще варианты с ul и ссылками, но они имеют ряд недостатков, правда НТМЛ проще..Кстати, вот оригинал: http://ruseller.com/lessons.php?rub=2&id=1226

В принципе может эту тему переименовать в тему: "Вкладки на чистом CSS и HTML без таблиц"?

0

14

kolobdur74
Спасибо!

0

15

Кстати, тут подумал, а может лучше создать тему: "Использование css вместо скриптов"? Правда уже есть тема: Каталог необычных CSS кодов! (для опытных) и там тоже есть вкладки, с другой стороны есть каталог, но нет темы обсуждения по нему...А ведь можно к примеру поменять название Объявление без использования скриптов, как и добавить разделительную полосу...У меня тут еще мысля возникла - а можно ли стрелочки верх-низ сделать на чистом Css-HTML? Так что, не только женщинам css нравится))))

0

16

sadhaka написал(а):

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

Данная  фича достаточно часто и я давно ратую за вставку в объявление совмещенного кода css+HTML+javascript Много раз советовал мастерам в Заказах Таблиц!
Cмысла разносить код = нет, особенно при большом объеме кода в HTML верх и низ, поскольку это часто приводит к удалению контента только в объявлении с забытым кодом в HTML верх и низ.

Отредактировано Deff (Ср, 15 Янв 2014 23:33:26)

0

17

kolobdur74 написал(а):

У меня тут еще мысля возникла - а можно ли стрелочки верх-низ сделать на чистом Css-HTML? Так что, не только женщинам css нравится))))

легко и можно! я у себя в сайдбаре поставил менюшку, которая по клику перетаскивает экран на определенную категорию.
А со стрелочками тоже все просто: фиксированная позиция, за ссылку вверх берем html-header за низ html-footer
Ну и там с анимацией похимичить (с этим труднее для меня, не совсем пока понимаю как она работает, вернее простое понимаю, а большое изучить лень)))
Напимер, у себя я сделал это таким кодом:

<div class="mess" style="line-height: 1.7">
<p><a href="/#pun-category1">О нас</a></p>
<p><a href="/#pun-category2">Компьютеры и все для них</a></p>

<p><a href="/#pun-category3">Устройства на базе IOS</a></p>
<p><a href="/#pun-category4">Интернет</a></p>
<p><a href="/#pun-category5">Поддержка BB.CELANS.RU
<p><a href="/#pun-category6">Развлечения</a></p>
</a></p>

</div>

Отредактировано C3La-NS (Ср, 15 Янв 2014 23:48:50)

0

18

C3La-NS написал(а):

А со стрелочками тоже все просто: фиксированная позиция, за ссылку вверх берем html-header за низ html-footer

С ссылками чем мне идея не нравится - это тем, что в адресной строке добавляется переход по ссылке..

0

19

kolobdur74
но ведь если ссылка указана таким способом /#pun-category6, то страница не перезагружается.
мне доп. пару символов в адресной строке проблем не создают...

0


Вы здесь » Единый форум поддержки » Архив » Как прикрутить куки к вкладкам?