Активируйте Overlay jquery из функции JS вместо селектора

прямо сейчас я хорошо работаю с этим наложением jQuery, когда щелкают ссылку, но я хочу изменить его, чтобы активировать наложение, когда я вызываю какую-то функцию JS, такую ​​как activOverlay(). Пример кода, который у меня есть:

$j(document).ready(function() {
var $loading = $j('<img src="/images/loader.gif" alt="loading" title="loading">');
$j('.activateOverlayJquery a').each(function() {
    var $dialog = $j('<div></div>')
        .append($loading.clone());
    var $link = $j(this).one('click', function() {
        $dialog
            .load($link.attr('href') + ' #overlayWrap')
            .dialog({
                autoOpen: false,
                width: 625,
                modal: true
            });
        $link.click(function() {
            $dialog.dialog('open');
            return false;
        });
        $j('.ui-resizable-handle').css({ display: "none" });
        $j('.ui-dialog .ui-dialog-content').css({ padding: 0 });
        $j('.ui-dialog .ui-dialog-titlebar').css({ display: "none" });
        $j('.ui-widget-content').css({ backgroundColor: "transparent" });
        return false;
    });
    $j('.closeOverlayJquery').live("click", function() {
     $dialog.dialog("close");
    });
});
});

И вот как я активирую оверлей:

<span class="activateOverlayJquery"><a href="/page?overlay=1">Click here</a></span>

Дело в том, что мне нужно вызвать активацию оверлея из нескольких мест, и одно из них — это когда пользователь просматривает страницу в 6-й раз, поэтому здесь не нажимается ссылка, тогда я бы хотел, чтобы при вызове такой функции, как activOverlay() оверлей активируется.


person Saymon    schedule 04.08.2011    source источник


Ответы (1)


попробуй это:

            $(document).ready(function () {
                $('body').append("<span><input type='checkbox'></input></span>");
                $('body').append("<span><input type='submit'></input></span>");
                $('body').append("<div id='overlay'></div>").css('height','100%');
                $('#overlay')
                        .addClass('overlay')
                        .css('position','fixed')
                        .css('background-color','silver')
                        .css('z-index','100')
                        .css('top','0px')
                        .css('bottom','0px')
                        .css('left','0px')
                        .css('right','0px')
                        .hide();
                $('#overlay').append("<div id='box'></div>");                    
                $('#box')
                        .append("<p>AGUARDE</p>")
                        .addClass('box')
                        .css('position','fixed')
                        .css('line-height','750%')
                        .css('text-align','center')
                        .css('z-index','101')
                        .css('top','40%')
                        .css('bottom','40%')
                        .css('left','40%')
                        .css('right','40%')
                $('input[type=submit], span input[type=checkbox]').                    
                    click(function (event) {
                        $('#overlay').show();
                    });
            });

Версия скрипача находится здесь

person overlaynow    schedule 09.08.2011