JQuery динамическое смещение - PullRequest
       31

JQuery динамическое смещение

0 голосов
/ 04 сентября 2011

Так что я работал над этим http://jsfiddle.net/Hiilo/hCVf4/

Чего я хотел бы добиться, так это смещения #offy, равного высоте гармошки, но я просто не могу понять, как обновить значение offset.top.

Это здесь дает правильное значение при загрузке страницы, но не будет обновляться, если я нажму на заголовок аккордеона.

var offset= function() {
    var offsetValue = $("#accordion").height();
    return offsetValue;
     };

Теперь, если я загляну в консоль, она, кажется, будет обновлена ​​

    $(".ui-accordion-header").click(function(){
    console.log(offset());
});

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

Заранее спасибо

1 Ответ

0 голосов
/ 04 сентября 2011

Вы хотите этого: http://jsfiddle.net/hCVf4/13/

  1. Измените обработчик от щелчка заголовка до обратного вызова изменения, потому что при щелчке по аккордеону анимация еще не закончена и высота будет недействительной:

    change: function(event, ui) { updaterOffcet(); }
    
  2. Изменить стиль блока на position:absolute; left:300px;

  3. Установить css(top:myTopValue) на обратный вызов
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...