неправильное позиционирование jquery overlay

У меня есть div (с триггерами класса) с изображениями, и этот div находится в div с контейнером id. позиционирование для контейнера div установлено относительно, что приводит к тому, что наложение появляется в правом нижнем углу, а когда изображение больше, оно выходит за пределы экрана.

Как я могу это исправить?

Я прочитал это, но это не было бы хорошим решением для меня, я не могу переместить его за пределы основного div и не могу удалить относительное позиционирование для контейнера div -> Инструменты Jquery Наложение Конфликт CSS, изображение расположено под наложением

Я разместил сообщение на форуме, но пока не получил помощи -> http://flowplayer.org/tools/forum/40/32440


person Christophe    schedule 05.12.2009    source источник
comment
где вы хотите, чтобы он появился?   -  person matpol    schedule 05.12.2009


Ответы (2)


Это можно исправить, переместив элемент наложения за пределы относительно расположенного div.

Вы можете легко сделать это с помощью jquery непосредственно перед применением метода наложения, например.

<div style="position: relative; top: -5px;">
    <a href="#" class="overlayTrigger" rel="myOverlay">My overlay trigger</a>
    <div id="myOverlay"> Testing 123 </div>
</div>

<script>
jQuery(function($) {
    $("a[rel].overlayTrigger").each(function() {
        var el = $(this);
        var target = el.attr('rel');
        $(target).appendTo('body');
        el.overlay({
            target: target,
            top: "center",
            expose: { 
                color: '#333',
                loadSpeed: 200,
                opacity: 0.9
            }
        });
    });
});
</script>
person Chris Haines    schedule 28.04.2010
comment
спасибо: D, но я собираюсь изменить шаблон, и это должно решить мою проблему :) Я все равно отмечу ваш ответ как принятый;) - person Christophe; 29.04.2010

Я обнаружил, что в IE8, даже если я помещу код наложения непосредственно перед закрывающим тегом body, он все равно не будет отображаться правильно. Только вышеперечисленное: $(target).appendTo('body'); работал! Вероятно, это произошло из-за того, что другой javascript написал в DOM. Простая вещь, используйте ее, чтобы быть уверенным.

person Backslider    schedule 25.08.2010