#jquery #fancybox
#jquery #fancybox
Вопрос:
У меня есть несколько div с изображениями в них, и при нажатии на них я хочу загрузить другую страницу .php с помощью fancybox. Содержимое загружено, но оно просто добавляется в конец страницы. у кого-нибудь когда-нибудь была эта проблема?
мой html:
<div id="clickme">
<img src="someimg.jpg" />
</div>
вот мой скрипт:
$('#clickme').live('click', function(){
$(this).fancybox({ 'href': 'somefile.php' });
});
Комментарии:
1. Вы включаете CSS-файл fancybox на свою страницу?
2. да, и все изображения находятся в другом каталоге, но я изменил все ссылки в файле css
3. Проверьте свой селектор #fancybox-wrap в css-файле fancybox и убедитесь, что он имеет position:absolute .
Ответ №1:
изначально я разделял css, изображения и js в свои собственные отдельные папки, и это не работало. если я просто скопирую папку fancybox и использую все оттуда, это работает
Ответ №2:
Вы можете обойти это, убедившись, что это находится в верхней части страницы:
<!DOCTYPE HTML PUBLIC "- / / W3C / / DTD HTML 4.01 Transitional / / EN" "http://www.w3.org/TR/html4/loose.dtd ">
или
<!DOCTYPE html>
Попробуйте «Просмотреть исходный код» на своей странице после загрузки в браузер, первой строкой должна быть строка doctype.
Ответ №3:
После нескольких часов работы я нашел ответ от владельца fancybox, пожалуйста, проверьте тему, если хотите: https://github.com/Taritsyn/WebMarkupMin/issues/66
Реальное решение — НЕ добавлять <!DOCTYPE html>
директиву, вместо этого обернуть все содержимое в <DIV>
тег и будет работать как шарм!