Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как передать переменную во время инициализации плагина (https://javascript.ru/forum/jquery/48191-kak-peredat-peremennuyu-vo-vremya-inicializacii-plagina.html)

ixen 24.06.2014 10:10

Как передать переменную во время инициализации плагина
 
Использую готовый компонент Accordion. Все работает. Но появилась проблема. Мне нужно чтобы при открытии страницы с этим компонентом, была открыта определенная секция, номер которой хранится в куки. Я ее считываю и хочу передать в accordion, чтобы при обновлении страницы открылась последняя открываемая секция. Для этого есть свойство у этого компонента active которому можно передать номер открываемой секции. Если во время инициализации поставить цифру, все работает, а если переменную, в которой хранится цифра, то не работает.
var last_cat=2;

$( "#gruppa" ).accordion({
	collapsible: false,
	heightStyle: "content",
	animate: 250,
	active: last_cat
});

Если устанавливать свойство active после инициализации, никакого эффекта нет. В javascript я новичек, подскажите как быть.

рони 24.06.2014 10:13

ixen,
ваш код рабочий либо переменная невидна инициализации либо в самой переменной ничего нет

ixen 24.06.2014 10:15

Перед инициализацией проверил переменную алертом, все нормально, значение есть.

рони 24.06.2014 10:17

Цитата:

Сообщение от ixen
готовый компонент Accordion

уточните что это

ixen 24.06.2014 10:20

это виджет с сайта jquery.com вот ссылка на него http://jqueryui.com/accordion/

рони 24.06.2014 10:29

ixen, код рабочий вы что-то недоговариваите.
<!doctype html>

<html lang="en">

<head>

  <meta charset="utf-8">

  <title>accordion demo</title>

  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">

  <script src="http://code.jquery.com/jquery-1.10.2.js"></script>

  <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>

</head>

<body>



<div id="gruppa">

  <h3>Section 1</h3>

  <div>

    <p>Mauris mauris ante, blandit et, ultrices a, suscipit eget.

    Integer ut neque. Vivamus nisi metus, molestie vel, gravida in,

    condimentum sit amet, nunc. Nam a nibh. Donec suscipit eros.

    Nam mi. Proin viverra leo ut odio.</p>

  </div>

  <h3>Section 2</h3>

  <div>

    <p>Sed non urna. Phasellus eu ligula. Vestibulum sit amet purus.

    Vivamus hendrerit, dolor aliquet laoreet, mauris turpis velit,

    faucibus interdum tellus libero ac justo.</p>

  </div>

  <h3>Section 3</h3>

  <div>

    <p>Nam enim risus, molestie et, porta ac, aliquam ac, risus.

    Quisque lobortis.Phasellus pellentesque purus in massa.</p>

    <ul>

      <li>List item one</li>

      <li>List item two</li>

      <li>List item three</li>

    </ul>

  </div>

</div>



<script>

var last_cat=2;

$( "#gruppa" ).accordion({
	collapsible: false,
	heightStyle: "content",
	animate: 250,
	active: last_cat
});


</script>



</body>

</html>

ixen 24.06.2014 10:36

Да, работает, если в переменную записать цифру явно, но если брать ее из куки, то не работает.
var last_cat=$.cookie('last_cat');

$( "#gruppa" ).accordion({
	collapsible: false,
	heightStyle: "content",
	animate: 250,
	active: last_cat
});

Видимо в переменной цифра хранится как строка. Но как ее преобразовать в цифру?

ixen 24.06.2014 10:46

Цитата:

Сообщение от ixen (Сообщение 317778)
Видимо в переменной цифра хранится как строка. Но как ее преобразовать в цифру?

Спасибо за помощь! parseInt помог

рони 24.06.2014 10:54

ixen,
active: +last_cat||2

ixen 24.06.2014 11:03

Цитата:

Сообщение от рони (Сообщение 317781)
ixen,
active: +last_cat||2

Спасибо, так лучше и быстрее!


Часовой пояс GMT +3, время: 14:08.