2010-02-19 2 views
1

Я использую shadowbox js для показа Flash-видео в всплывающих окнах lightbox.Shadowbox timing issue

До сих пор это работает, но у меня есть эта проблема:

при загрузке страницы и пользователь нажимает слишком рано связанного изображения, которое должно открыть Shadowbox SWF-загружается напрямую (и не появляется всплывающее окно). Кроме того, сценарий, кажется, останавливается в этом случае и никогда не назначает правильный кликлайнер - так что теневой блок никогда не отображается также при последующих кликах.

Shadowbox 3.0.1

Любой испытал тот же вопрос, какие решения? Спасибо.

ответ

2

Вы не размещали ни одной информации о том, когда вызывается теневой ящик.

Если моя догадка правильная, вы используете shadowbox в обработчике события onload. Попробуйте называть его, когда DOM готов.

JQuery:

$(document).ready(function(){ 
//call it here 
}); 

[EDIT] В ответ на Ваш комментарий.

Если это не помогает, существует только одно решение.

Добавить это только после Jquery сценария линии загрузки в голове

<script> 
$('<div></div>') 
    .css({width:'100%',height:'100%', 
'position':'fixed','top':'0px',left:'0px', 
'z-index':'10000'}) 
.addClass('cover'); 
.prependTo('body'); 
</script> 

выше должна быть одна линия, но она сокращается на CSS в StackOverflow в;)

, а затем $ (». покрытия ') удалить(). когда вы уверены, что все загружено.

Я делаю это при запуске сумасшедшего большого количества кода на pageload;)

+0

Спасибо вам за ответ. Но я уже пробовал этот подход: та же проблема. На моем сайте есть внешние скрипты (аналитика Google и т. П.), Которые публикуют полную загрузку страницы. Думаю, это связано с этим. Но на самом деле я могу воспроизвести проблему и на главной странице shadowbox: http://www.shadowbox-js.com/index.html (попробуйте загрузить страницу и быстро щелкнуть по ящику после загрузки) – hugri

+0

см. Редактирование. Это поможет! – naugtur

+0

спасибо. несмотря на ваше точное решение не работает для меня (как раз ничего не было добавлено) я использовал модифицированную версию этого: Я просто добавил этот DIV перед Shadowbox DIV:

метода удаляемого такой же, как и в вашем ответе. прозрачное изображение решило проблему для меня, что IE, похоже, игнорирует прозрачный div, и ссылка все еще доступна для кликов. благодаря! – hugri