абсолютное отклонение позиции во втором щелчке пользовательской всплывающей подсказки - PullRequest
1 голос
/ 27 ноября 2011

Проверьте этот код.

<li>one <a href="#" class="opt">delete</a>
        <div class="popup">
            <span class="tip"></span><a href="#" class="btn">deletebutton</a></div>
    </li>

код, используемый для скрытия / показа div.popup

$('.opt').live('click', function(e) {
    e.preventDefault();
    $(".popup").slideUp();
    $(this).closest("li").find(".popup").stop(true, false).slideToggle();
});

Нажмите «Удалить», чтобы открыть каждый div.popup, но второй щелчок по открытому div.popup заставит span.tip исчезнуть. Он больше не появляется без обновления страницы.

$(".popup").slideUp();

Я обнаружил, что проблема связана с этим кодом. Я использую этот код, чтобы скрыть все остальные открытые .popup по клику любого якоря удаления. Я новичок в JQuery. Может кто-нибудь предложить альтернативный метод, чтобы скрыть div.popup братьев и сестер при нажатии на любой.

Спасибо ..

Ответы [ 2 ]

1 голос
/ 27 ноября 2011

Проблема в том, что во время slideToggle jQuery меняет всплывающий элемент на «overflow-x: hidden», поэтому элемент tip, находящийся за пределами границ, остается скрытым. Я сделал обновление jsfiddle, чтобы оно включало элемент tip внутри всплывающего элемента div. Анимация выглядит немного по-другому, но я уверен, что вы можете сделать так, чтобы она выглядела так, как раньше, с небольшим утомлением. http://jsfiddle.net/6vKct/5/ (я изменил подсказку, чтобы синий фон стал более заметным)

Я изменил

  • верхняя часть всплывающего окна от "20px" до "15px"
  • верхушка div от "-5px" до "0px"
  • сделал элемент btn относительно расположенным
  • переместил элемент btn вниз, установив верхнюю часть на "5px"
  • переместил стиль цвета фона из всего всплывающего окна div только в btn

По сути, я просто увеличил размер всплывающего окна, переместил его вверх и переместил кончик внутри него.

0 голосов
/ 27 ноября 2011

добавить стоп (true, true)

http://jsfiddle.net/6vKct/2/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...