Bigprey Ответов: 1

Fancybox jquery не работает внутри emptydatatemplate gridview. Может быть, потому, что он не загружается с $(document).готов сам, то есть на странице загрузки


Я выбрал "Fancybox Jquery" из http://fancybox.net/howto но это не работает на одной из моих страниц. На самом деле, я хочу, чтобы он работал как Linkbutton - - - - & gt; Галерея изображений (всплывающее окно) - - - - > каждое изображение из галереи в исходном размере с навигационными стрелками с обеих сторон (еще одно всплывающее окно)

Но для меня, после нажатия кнопки Linkbutton, галерея открывается с миниатюрами нормально. Но после нажатия на миниатюру изображения не открываются с помощью навигационных стрелок. Открытие просто как перенаправление изображения, то есть открытие как перенаправление URL-адреса по одному изображению для каждого клика.

<script type="text/javascript">
        $(document).ready(function () {
            $("a.fancybox").fancybox();
        });


<asp:Panel ID="TourPoster" runat="server" Visible="false">
            <div class="Referral1">
                <table>
        <tr><th class="Title" style="text-align: center;">Sample Tournament Posters<asp:ImageButton runat="server" ImageUrl="~/StyleSheets/Images/CloseButton.png" ImageAlign="Right" OnClick="LBSampleTournPostersClose_Click" /></th></tr>
        <tr>
            <td>
                <a class="fancybox" rel="group" href="/Images/Samples/Sample1.jpg"><img src="/Images/Samples/Sample1.jpg" alt=""/></a>
                <a class="fancybox" rel="group" href="/Images/Samples/Sample2.jpg"><img src="/Images/Samples/Sample2.jpg" alt=""/></a>
                <a class="fancybox" rel="group" href="/Images/Samples/Sample2.png"><img src="/Images/Samples/Sample2.png" alt=""/></a>
                <a class="fancybox" rel="group" href="/Images/Samples/Sample3.jpg"><img src="/Images/Samples/Sample3.jpg" alt=""/></a>
                <a class="fancybox" rel="group" href="/Images/Samples/Sample4.jpg"><img src="/Images/Samples/Sample4.jpg" alt=""/></a>
            </td>
        </tr>
</table>
        </div>
</asp:Panel>


Есть ли какая-нибудь ошибка с кодом? Я даже попробовал изменить внутри

<script type="text/javascript">
        $(document).ready(function () {
            $("a.fancybox").fancybox();
 });


Это тоже не работает. Пожалуйста, помогите

Что я уже пробовал:

Я даже попробовал изменить внутри

< script type= "text/javascript">
$(документ).готово(функция () {
$("на.fancybox").fancybox();
});

но это ни на что не влияет.

Vjay Y

просто пройдите через документацию fancybox и внимательно прочитайте и реализуйте примеры

Bigprey

Я уже пробовал их документацию, и она отлично работает на всех моих других страницах, кроме этой.

У меня были сомнения, что проблема может быть связана с тем, что панель установлена в false при загрузке, так что $(document).ready (function () не работает должным образом. Итак, я попробовал

&ЛТ;АСП:группа идентификатор="TourPoster" атрибут runat="сервер" стиль="видимость:скрытый;"&ГТ;

-----------

охраняемых недействительными LBSampleTournPosters_Click(объект отправителя, EventArgs в электронной)
{
Турпостер.Стиль.Добавить("Видимость", "Видимый");
}

Но это не активирует и "Fancybox".

Даже если я ставлю &ЛТ;АСП:группа идентификатор="TourPoster" атрибут runat="сервер" стиль="видимость:видимый;"&ГТ; или просто &ЛТ;АСП:группа идентификатор="TourPoster" атрибут runat="сервер"и GT;, на fancybox не работает...

На самом деле вся эта панель вызывается изнутри пустого шаблона данных gridview.

Будет ли это быть проблемой? Спасибо за ваше время, приятель,и хорошего вам дня.

Karthik_Mahalingam

получаете какую-либо ошибку в окне консоли?

Bigprey

Ошибки не отображаются.

У меня были сомнения, что проблема может быть связана с тем, что панель установлена в false при загрузке, так что $(document).ready (function () не работает должным образом. Итак, я попробовал

&ЛТ;АСП:группа идентификатор="TourPoster" атрибут runat="сервер" стиль="видимость:скрытый;"&ГТ;

-----------

охраняемых недействительными LBSampleTournPosters_Click(объект отправителя, EventArgs в электронной)
{
Турпостер.Стиль.Добавить("Видимость", "Видимый");
}

Но это не активирует и "Fancybox".

Даже если я ставлю &ЛТ;АСП:группа идентификатор="TourPoster" атрибут runat="сервер" стиль="видимость:видимый;"&ГТ; или просто &ЛТ;АСП:группа идентификатор="TourPoster" атрибут runat="сервер"и GT;, на fancybox не работает...

На самом деле вся эта панель вызывается изнутри пустого шаблона данных gridview.

Будет ли это быть проблемой? Спасибо за ваше время, приятель,и хорошего вам дня.

Karthik_Mahalingam

в какой библиотеке?
URL-адрес ?

Bigprey

http://cdnjs.cloudflare.com/ajax/libs/fancybox/1.3.4/jquery.fancybox-1.3.4. css

http://fancybox.net/

Karthik_Mahalingam

хорошо я буду чкать эту библиотеку

Bigprey

Я думаю, что библиотека должна быть в порядке, потому что она прекрасно работает на других страницах того же сайта... Это происходит только здесь, возможно, из-за Emptydatatemplate gridview или неспособности Jquery вызвать панель, так как она не загружается, когда $(document).готовый

Аналогичный вопрос размещен по адресу http://stackoverflow.com/questions/17811844/gridview-filtering-wont-work-when-it-has-returned-empty

Спасибо

ZurdoDev

1. Во-первых, убедитесь, что вы используете допустимый DOCTYPE

1 Ответов

Рейтинг:
1

ZurdoDev

Ваша панель не видна. Установка Visible=false означает, что элемент управления даже не будет отправлен клиенту. Поэтому ваш document. ready, который использует селектор jQuery $("a.fancybox"), ничего не найдет, потому что их там нет.

Вместо этого вы можете сделать style= ' visibility: hidden;' на своей панели, и тогда она будет скрыта в браузере, но все элементы управления по-прежнему будут находиться в html.


Bigprey

У меня тоже были такие же сомнения и я попробовал как

&ЛТ;АСП:группа идентификатор="TourPoster" атрибут runat="сервер" стиль="видимость:скрытый;"&ГТ;

-----------

охраняемых недействительными LBSampleTournPosters_Click(объект отправителя, EventArgs в электронной)
{
Турпостер.Стиль.Добавить("Видимость", "Видимый");
}

Но это не активирует и "Fancybox".

ZurdoDev

Тогда вам придется отладить его и выяснить, что происходит. Поместите точку останова в событие document.ready() и проверьте, что такое $("a.fancybox").length.

Bigprey

Даже если я ставлю &ЛТ;АСП:группа идентификатор="TourPoster" атрибут runat="сервер" стиль="видимость:видимый;"&ГТ; или просто &ЛТ;АСП:группа идентификатор="TourPoster" атрибут runat="сервер"и GT;, на fancybox не работает...

На самом деле вся эта панель вызывается изнутри пустого шаблона данных gridview.

Аналогичный вопрос размещен по адресу http://stackoverflow.com/questions/17811844/gridview-filtering-wont-work-when-it-has-returned-empty

Будет ли это быть проблемой? Спасибо за ваше время, приятель,и хорошего вам дня.