Хорошо, я знаю, что этого было задано довольно много, и, похоже, есть некоторые ответы на те, которые были заданы.
Но я NOOB, понимая эти вопросы, несколько отличается от того, что я ищу.
У меня есть два запроса, сначала для видео
1. У меня есть база данных, где Image & Video хранится динамически.
2. Теперь в конце пользователя я хочу показать изображение и видео
3. Я создаю ссылки, вызывая Sqldatasource из базы данных.
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:horti %>"
DeleteCommand="delete from [VideoGallery] where Id=@Id" SelectCommand="SELECT TOP (3) Id, Link FROM VideoGallery ORDER BY Id DESC">
<DeleteParameters><asp:Parameter Name="Id" /></DeleteParameters>
</asp:SqlDataSource>
<asp:DataList ID="DataList3" runat="server" DataSourceID="SqlDataSource1" RepeatColumns="3">
<ItemTemplate>
<a class="fancybox-media" href='<%#Eval("Link")%>'>Youtube</a>
</ItemTemplate>
</asp:DataList>
(До сих пор все прекрасно)
4. Теперь проблема заключается в том, что я вызываю href='<%#Eval("Link")%>'
, fancy-box не всплывает и не воспроизводит видео, а вместо этого загружает видео полный экран без эффекта всплывающего оверлея,
Необычный сценарий окна для видео
$ (document).ready(function() {
$('.fancybox').fancybox();
$('.fancybox-media')
.attr('rel', 'media-gallery')
.fancybox({
openEffect: 'none',
closeEffect: 'none',
prevEffect: 'none',
nextEffect: 'none',
arrows: false,
helpers: {
media: {},
buttons: {}
}
}); });
Я нашел нечто похожее на добавление динамических ссылок на href qaru.site/questions/921148/...
но я не знаю, как реализовать метод
Для изображения
для изображения я вызываю динамические ссылки на img src & href из базы данных
<a class="fancybox" data-fancybox-group="gallery" title="<%#Eval("Title") %>" href="<%#"Photo_Gallery.ashx?Id="+ Eval("Id") %>"> <img src='<%#"Photo_Gallery.ashx?Id="+ Eval("Id") %>'> </a>
Скрипт Fancybox
<script type="text/javascript">
$(document).ready(function () {
$('.fancybox').fancybox();
});
Это слишком загружает то же самое, что и видео, оно загружает изображение на пустой странице без эффекта наложения
Я считаю, что все работает, только создавая динамическую ссылку для href.
любая помощь была бы чрезвычайно оценена.
Для стартеров @JK ответ указал мне в правильном направлении, так что большой кусок кредита отправляется JK для сортировки моего запроса.
Я отправляю свой ответ, просто расцениваю кого-то как NOOB, поскольку меня может искать тот же запрос, что и мой. Вот точный ответ, который я мог бы настроить.
Для видео
<a href='<%# Eval("Link")%>' class="fancybox-media" >
<img src='<%# Eval("Image_Id")%>' />
Это код на стороне клиента. На сервере я дал отдельный Id для видео и изображения. (Как получить миниатюру изображения для этого видео Читать здесь
Наряду с fancybox JS, вызываемым внутри <head><head/>
Использовать медиафайлы fancybox <script type="text/javascript" src="fancybox-media.js"></script>
Это должно сделать это для видео, ваш плеер будет всплывать и воспроизводить видео
Для изображения
Просто, просто добавьте data-fancybox-type="image"
.
Читайте здесь для получения дополнительной информации об этом от @JK
Это об этом.
1). Что касается видео:
Медиа-помощник Fancybox поддерживает только форматы популярных видеосайтов (youtube, vimeo, dailymotion и т.д.); см. эту должность для дальнейшей справки: qaru.site/questions/3231345/...
Поскольку ваше видео хранится локально, вам понадобится проигрыватель для их выполнения (Fancybox не включает в себя видеоплеер), чтобы вы могли использовать jwplayer или medialelement.js, например.
См. Это сообщение для ознакомления с jwplayer qaru.site/questions/6075886/..., в котором содержится код и демонстрация.
2). Что касается изображений:
Ссылка href
в вашей ссылке
href="<%#"Photo_Gallery.ashx?Id="+ Eval("Id") %>"
не сообщает fancybox, что вы открываете изображение, потому что ссылка не имеет расширения изображения (.jpg,.png,.gif), поэтому вам нужно принудительно type
содержимого.
Проверьте это сообщение qaru.site/questions/599021/... для трех разных способов сделать это. Это также можно найти в http://fancyapps.com/fancybox/#support >> вкладке "Часто задаваемые вопросы" >> № 5
Поскольку вы noob (вы сказали), вам нужно читать и учиться больше, чем вы думаете, но ссылки, приведенные выше, являются хорошей отправной точкой.