Открытие Shadowbox из функции JavaScript

Я пытаюсь открыть Shadowbox из события onclick переключателя на веб-форме asp.net, но безуспешно. Первоначально я открывал его с помощью нажатия кнопки, который работал нормально, но теперь нужно убедиться, что это происходит, когда выбран переключатель. Затем я попытался нажать кнопку в javascript (button.click()), но это работало только в IE и более новых версиях firefox. Поэтому я решил использовать Shadowbox.open, но это вызывает некоторые проблемы. Вот мой код:

if (yes.checked == true)
    {            
        var url = 'http://localhost:52963/items.aspx';
        Shadowbox.open( { content:    url, 
                        type:        "iframe", 
                        title:         "sbTitle ", 
                        options:   {   initialHeight:350, 
                                        initialWidth:450, 
                                        loadingImage:"loading.gif", 
                                        handleUnsupported:  'link' 
                                    } 
                     }); 
    }

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

2 ответа

Решение

Видимо, мне нужно было добавить игрока, а также тип. Итак, исправленный код таков:

Shadowbox.open( { content:    url, 
                    type:        "iframe", 
                    player:      "iframe",
                    title:         "sbTitle ", 
                    options:   {   initialHeight:350, 
                                    initialWidth:450, 
                                    loadingImage:"loading.gif", 
                                    handleUnsupported:  'link' 
                                } 
                 }); 

У меня было много проблем с этим, я пытался запустить клик, используя.trigger('click') из jquery, но это не сработало в chrome (работало в firefox)

Оказывается, ответ довольно прост, похож на электронный ответ, но набран вниз.

Ваши изображения в обычной галерее shadowbox

<div class="gallery">
  <a  href="/img1.jpg" rel="shadowbox[gallery1]" >
    <img id="Image0" src="/img1.jpg" />
  </a>
  <a  href="/img2.jpg" rel="shadowbox[gallery1]" >
    <img id="Image1" src="/img2.jpg" />
  </a>
</div>

Тогда ваша кликабельная ссылка

<a href="#" class="galleryLauncher" gallery="gallery1">Click to view all images</a>

Я подключил кликабельную ссылку через jquery в документе.

$('.galleryLauncher').click(function () {

 //gallery to launch
    var id = $(this).attr('gallery');

 //get the first item out of the cache
    var content = Shadowbox.cache[1].content;

 //default options object
    var options = {}; 

 //now we can open it
    Shadowbox.open({
        content: content,
        player: "img",
        gallery: id,
        options: options
    });

    return false;
});
Другие вопросы по тегам