Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха информатор 3.1
Еще более удобное оповещение о флуде!

Краснодарское время: 24 Май, 2012, 04:18:08

Страниц: [1] 2
Печать
Автор Тема: JS вкладки  (Прочитано 1324 раз)
0 Пользователей и 1 Гость смотрят эту тему.
smv    ↓ 
13 Январь, 2010, 12:10:37
НЕ ХУЕТА! ХУЕТА!

Карма: -2
Сообщений: 234
Сила слова: -0.85

Добрый день. В JS мало что понимаю, но понимания хватило на то что бы взять готовый скрипт и немножко поправить. Это вкладки на страницы.
 
Все работает только вот есть проблема. Хочу что бы положение закладки сохранялось. Сейчас по умолчанию открывается первая. Есть идеи использовать куки... Но как не знаю... Да что уж тут... И разбираться времени нет... Подскажите пожалуйста кому не трудно.
 
CSS

body {margin-top: 0px; margin-left: 0px}
 
 .bmc{font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif; font-size: 11px; border-right:solid #CCCCCC 1px; border-bottom:solid #CCCCCC 1px; padding:1px 5px;cursor:hand;}
 
 .bmcsel{font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif; font-size: 11px; border-right:solid #CCCCCC 1px; border-bottom:solid #CCCCCC 1px; padding:1px 5px;background: #E2E2E2;}
 
 .bm{font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif; font-size: 11px; padding:`px 5px;width:300px;background: #FFFFFF;margin-top:3px;}
 
 

Javascript

 setbm = function(){
    var i = 2;
    while(document.getElementById('bm'+i)!=null){
      document.getElementById('bm'+i).style.display='none';
      i++;
    }
  }
  actbm = function(aid){
    var i = 1;
    while(document.getElementById('bm'+i)!=null){
      if(i!=aid){
        document.getElementById('bm'+i).style.display='none';
        document.getElementById('bmc'+i).className='bmc';
      } else {
        document.getElementById('bm'+i).style.display='block';
        document.getElementById('bmc'+i).className='bmcsel';
      }
      i++;
    }
  }
 

HTML

<div>
  <table width="939" height="31" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td width="190" bgcolor="#F4F4F4" class="bmcsel" id="bmc1" onclick="actbm(1)"><div align="center">Главная</div></td>
    <td width="190" bgcolor="#F4F4F4" class="bmc" id="bmc2" onclick="actbm(2)"><div align="center">Каталог товаров</div></td>
    <td width="190" bgcolor="#F4F4F4" class="bmc" id="bmc3" onclick="actbm(3)"><div align="center">Предоставляемые услуги</div></td>
    <td width="190" bgcolor="#F4F4F4" class="bmc" id="bmc4" onclick="actbm(4)"><div align="center">Об интернет-магазине</div></td>
    <td width="190" bgcolor="#F4F4F4" class="bmc" id="bmc5" onclick="actbm(5)"><div align="center">Правила работы</div></td>
    <td width="190" bgcolor="#F4F4F4" class="bmc" id="bmc6" onclick="actbm(6)"><div align="center">Контакты</div></td>
    <td width="190" bgcolor="#F4F4F4" class="bmc" id="bmc7" onclick="actbm(7)"><div align="center">Новости, статьи</div></td>
  </tr>
</table>
  <div id="bm1" class="bm">Содержимое вкладки 1</div>
  <div id="bm2" class="bm">Содержимое вкладки 2</div>
  <div id="bm3" class="bm">Содержимое вкладки 3</div>
  <div id="bm4" class="bm">Содержимое вкладки 4</div>
  <div id="bm5" class="bm">Содержимое вкладки 5</div>
  <div id="bm6" class="bm">Содержимое вкладки 6</div>
  <div id="bm7" class="bm">Содержимое вкладки 7</div>
</div>
 

Javascript
setbm();
Записан
NRG    ↓ 
13 Январь, 2010, 12:16:58 , спустя 6 минут 21 секунду
НЕ ХУЕТА! ХУЕТА!

Headshot!MultiKill!
Группа: нинзя

Карма: 777
Сообщений: 4700
Сила слова: 16.81

Есть идеи использовать куки... Но как не знаю
вообщето все просто.
в куки ложим какойнить идентификатор, который нам говорит какая вкладка сейчас открыта.
при рефреше странички сначала смотрим на куки, если там чтото есть для нас, делаем "нашу" вкладку открытой.
все.
а по поводу как поставить куки в JS то вот js setcookie
Записан

Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть
adw0rd    ↓ 
13 Январь, 2010, 12:22:34 , спустя 5 минут 36 секунд
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17615
Сила слова: 1.67

Самое простое назначение:
Javascript
document.cookie = 'cid=' + aid

можешь тут ознакомится http://www.codenet.ru/webmast/js/Cookies.php
Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
smv    ↓ 
13 Январь, 2010, 12:26:05 , спустя 3 минуты 31 секунду
НЕ ХУЕТА! ХУЕТА!

Карма: -2
Сообщений: 234
Сила слова: -0.85

Javascript

setbm = function(){
    var i = 2;
    while(document.getElementById('bm'+i)!=null){
      document.getElementById('bm'+i).style.display='none';
      i++;
    }
  }
  actbm = function(aid){
    var i = 1;
    while(document.getElementById('bm'+i)!=null){
      if(i!=aid){
        document.getElementById('bm'+i).style.display='none';
        document.getElementById('bmc'+i).className='bmc';
      } else {
        document.getElementById('bm'+i).style.display='block';
        document.getElementById('bmc'+i).className='bmcsel';
      }
      i++;
    }
  }
 
 

А куда все это дело которые вы предложили вставить в этом коде?
Записан
adw0rd    ↓ 
13 Январь, 2010, 12:49:04 , спустя 22 минуты 59 секунд
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17615
Сила слова: 1.67

smv, а когда тебе надо запоминать ид-вкладки?
Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
smv    ↓ 
13 Январь, 2010, 12:51:07 , спустя 2 минуты 3 секунды
НЕ ХУЕТА! ХУЕТА!

Карма: -2
Сообщений: 234
Сила слова: -0.85

После первого нажатия на вкладку. Т.е. пока нажатия на вкладку нет... то и куки нет... (например как при за хаоде на страничку) Как только вкладка нажата то записать в куки... Нажали на другую вкладку - переписать куки.
Записан
NRG    ↓ 
13 Январь, 2010, 12:58:36 , спустя 7 минут 29 секунд
НЕ ХУЕТА! ХУЕТА!

Headshot!MultiKill!
Группа: нинзя

Карма: 777
Сообщений: 4700
Сила слова: 16.81

smv, ну вот ты сам на свой вопрос и ответил.
на онклик вешай ф-ию, которая будет ложить в куку ид.
типа
HTML
<a href="#" id="my_cool_tab" onclick="return myFunction(this)";>Tab_1</a>
<javascript>
    function myFunction(element) {
        var el_id; // get id of specified element
        setCookie(el_id); // set this id to cookie
    }
</javascript>
 
Записан

Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть
smv    ↓ 
13 Январь, 2010, 05:15:19 , спустя 4 часа 16 минут 43 секунды
НЕ ХУЕТА! ХУЕТА!

Карма: -2
Сообщений: 234
Сила слова: -0.85


smv, ну вот ты сам на свой вопрос и ответил.
на онклик вешай ф-ию, которая будет ложить в куку ид.
типа
HTML
<a href="#" id="my_cool_tab" onclick="return myFunction(this)";>Tab_1</a>
<javascript>
    function myFunction(element) {
        var el_id; // get id of specified element
        setCookie(el_id); // set this id to cookie
    }
</javascript>
 

На ссылку событие онклик вешать не хочу. У меня событие онклик есть на ячейку таблицы onclick="actbm(1)". По нажатию срабатывает функция которая и отвечает за выбор табов. (за присвоение им соответствующих стилей)
 
Javascript

setbm = function(){
    var i = 2;
    while(document.getElementById('bm'+i)!=null){
      document.getElementById('bm'+i).style.display='none';
      i++;
    }
  }
  actbm = function(aid){
    var i = 1;
    while(document.getElementById('bm'+i)!=null){
      if(i!=aid){
        document.getElementById('bm'+i).style.display='none';
        document.getElementById('bmc'+i).className='bmc';
      } else {
        document.getElementById('bm'+i).style.display='block';
        document.getElementById('bmc'+i).className='bmcsel';
      }
      i++;
    }
  }
 
 

Вопрос такой... Вот есть у меня ячейка таблицы и ее id.
 
HTML

<td width="190" bgcolor="#F4F4F4" class="bmcsel" id="bmc1" onclick="actbm(1)"><div align="center">Главная</div></td>
 

каким свойством и какого объекта надо воспользоваться что бы выдернуть id?
Записан
NRG    ↓ 
13 Январь, 2010, 05:17:18 , спустя 1 минуту 59 секунд
НЕ ХУЕТА! ХУЕТА!

Headshot!MultiKill!
Группа: нинзя

Карма: 777
Сообщений: 4700
Сила слова: 16.81

я ссылку (впрочем как и всеь код) привел как пример.
на что ты повесишь онклик это твое дело.
Записан

Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть
NRG    ↓ 
13 Январь, 2010, 07:19:02 , спустя 2 часа 1 минуту 44 секунды
НЕ ХУЕТА! ХУЕТА!

Headshot!MultiKill!
Группа: нинзя

Карма: 777
Сообщений: 4700
Сила слова: 16.81

и вообще заюзай http://docs.jquery.com/UI/Tabs
Записан

Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть
CTAPbIu_MABP    ↓ 
13 Январь, 2010, 09:10:05 , спустя 1 час 51 минуту 3 секунды
НЕ ХУЕТА! ХУЕТА!

мавр
Группа: в ухо

Карма: не нужна
Сообщений: 5187
Сила слова: 1.81


и вообще заюзай http://docs.jquery.com/UI/Tabs
ага
Записан

java.lang.OutOfMemoryError
smv    ↓ 
14 Январь, 2010, 03:17:08 , спустя 18 часов 7 минут 3 секунды
НЕ ХУЕТА! ХУЕТА!

Карма: -2
Сообщений: 234
Сила слова: -0.85

а может кто нибудь подскажет как этот скрипт подправить?
В частности вот эту часть:
 
Javascript
setbm = function(){
    var i = 2;
    while(document.getElementById('bm'+i)!=null){
      document.getElementById('bm'+i).style.display='none';
      i++;
    }
  }
  actbm = function(aid){
    var i = 1;
    while(document.getElementById('bm'+i)!=null){
      if(i!=aid){
        document.getElementById('bm'+i).style.display='none';
        document.getElementById('bmc'+i).className='bmc';
      } else {
        document.getElementById('bm'+i).style.display='block';
        document.getElementById('bmc'+i).className='bmcsel';
      }
      i++;
    }
  }
Записан
adw0rd    ↓ 
14 Январь, 2010, 04:05:43 , спустя 48 минут 35 секунд
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17615
Сила слова: 1.67

Вам лень самому разобраться? Можно за 5 минут все вкурить, а вам просто лень... 2 дня уже над этой проблемой думаете, а там решение на 5 минут и пару строк кода.
Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
smv    ↓ 
14 Январь, 2010, 04:12:42 , спустя 6 минут 59 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: -2
Сообщений: 234
Сила слова: -0.85

да не лень... просто с javascript туговато у меня. Логика впринципе понятна... а синтаксис не очень... Ну если задача за 5 минут решается может поможете все таки? Очень бы вам был бы благодарен ))))))
Записан
AlexB    ↓ 
14 Январь, 2010, 04:20:26 , спустя 7 минут 44 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 89
Сообщений: 3424
Сила слова: 2.6


Логика впринципе понятна... а синтаксис не очень...
Ну и задавай тогда кокретные вопросы по синтаксису, а не  "сделайте за меня" ... больше толку будет.
Записан

Страниц: [1] 2
Печать
 

Перейти в: