Chciałbym uruchomić Fancybox (np . Wersję modalu lub lightboxa Fancybox ) podczas ładowania strony. Mógłbym powiązać go z ukrytym tagiem kotwicy i uruchomić zdarzenie kliknięcia tego tagu kotwicy za pośrednictwem JavaScript, ale wolałbym po prostu uruchomić Fancybox bezpośrednio i uniknąć dodatkowego tagu kotwicy.
jquery
jquery-plugins
fancybox
Blegger
źródło
źródło
Odpowiedzi:
Fancybox obecnie nie obsługuje bezpośrednio sposobu automatycznego uruchamiania. Obejście, które udało mi się uruchomić, polega na utworzeniu ukrytego tagu kotwicy i wywołaniu jego zdarzenia kliknięcia. Upewnij się, że wywołanie wywołujące zdarzenie kliknięcia zostało uwzględnione po dołączeniu plików jQuery i Fancybox JS. Kod, którego użyłem, jest następujący:
Ten przykładowy skrypt jest osadzony bezpośrednio w kodzie HTML, ale można go również umieścić w pliku JS.
źródło
$(document).ready(LaunchFancyBox());
powinien$(document).ready(LaunchFancyBox);
. (zwróć uwagę na brak wywołania funkcji na końcu).Mam to do pracy, wywołując tę funkcję w dokumencie gotowym:
źródło
To proste:
Najpierw ukryj swój element w ten sposób:
Następnie zadzwoń do swojego javascript:
Spójrz na obrazek poniżej:
Inny przykład:
źródło
Window.load (w przeciwieństwie do document.ready ()) wydaje się być sztuczką używaną w demonstracjach JSFiddler onload Fancybox 2.0 :
Pamiętaj, że możesz używać document.ready () w innym miejscu, a IE9 denerwuje się kolejnością ładowania tych dwóch. To pozostawia ci dwie opcje: zmień wszystko na window.load lub użyj setTimer ().
źródło
Lub użyj tego w pliku JS po skonfigurowaniu fancybox:
Wierzę, że Fancybox 1.2.1 użyje domyślnych opcji innych niż moje testy, kiedy będę musiał to zrobić.
źródło
dlaczego to jeszcze nie jest jedna z odpowiedzi ?:
teraz po prostu uruchom swój link !!
wziąłem to ze strony głównej Fancybox
źródło
Najlepszy sposób, jaki znalazłem, to:
źródło
W moim przypadku poniższe mogą działać pomyślnie. Po załadowaniu strony lightbox natychmiast się wyskakuje.
JQuery: 1.4.2
Fancybox: 1.3.1
źródło
Odpowiedź Alexa jest świetna. ale ważne jest, aby zauważyć, że wywołuje to domyślny styl fancybox. Jeśli masz własne reguły niestandardowe, po prostu wywołaj .trigger kliknij tę konkretną kotwicę
źródło
Właściwie udało mi się wywołać link fancyBox tylko z zewnętrznego pliku JS za pomocą zdarzenia „na żywo”:
Najpierw dodaj zdarzenie kliknięcia na żywo do przyszłej kotwicy dynamicznej:
Następnie dołącz kotwicę do ciała:
Następnie uruchom fancyBox poprzez „kliknięcie” kotwicy:
Link do fancyBox jest teraz „prawie” gotowy. Dlaczego „prawie”? Ponieważ wygląda na to, że musisz dodać trochę opóźnienia przed uruchomieniem drugiego kliknięcia, w przeciwnym razie skrypt nie będzie gotowy.
To szybkie i brudne opóźnienie przy użyciu animacji na naszej kotwicy, ale działa dobrze:
Proszę bardzo, twój fancyBox powinien pojawić się jako załadowany!
HTH
źródło
Może to pomoże ... było to używane w pełnowymiarowym wydarzeniu kliknięcia kalendarza jQuery ( http://arshaw.com/fullcalendar/ ) ... ale może być ogólnie używane do radzenia sobie z fancybox uruchamianym przez jQuery.
źródło
Możesz także użyć natywnej funkcji JavaScript,
setTimeout()
aby opóźnić wyświetlanie pudełka, gdy DOM będzie gotowy.źródło
W przypadku, gdy nie masz przycisku do kliknięcia. Chodzi mi o to, że jeśli chcesz go otworzyć w odpowiedzi Ajax, wyglądałoby to tak:
źródło
To pomoże..
źródło
Możesz umieścić link w ten sposób (będzie ukryty. Może być wcześniej
</body>
)I działający atrybut lub klasa rel w ten sposób
Po prostu zrób to za pomocą funkcji wyzwalania jquery
źródło
HTML:
JS:
źródło
może możesz użyć jqmodal , jest lekki i łatwy w użyciu. możesz wyświetlić okno modalne, dzwoniąc
źródło