![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 374 Pomógł: 23 Dołączył: 3.06.2006 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Szukałem na google i tutaj na forum ale jakoś nie bardzo mi to wyszło (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Chodzi o następujący problem: Jak wiadomo, podczas wysyłania treści strony do użytkownika najpierw przesyłane są teksty oraz obrazki a na końcu dopiero ładowane są skrypty JS dołączane z nagłówka head. Chodzi mi tutaj dokładnie o przykład Lighbox'a. Uaktywnia się on dopiero po załadowaniu całej treści strony i zanim załadują się wszystie obrazki w galerii, po kliknięciu na dany obrazek, skrypt przenosi mnie do powiększenia obrazku zamiast wyświetlić go w lightbox'ie. Czy idzie jakoś załadować bibliotek Lightboxa i inne pomocnicze zanim zostanie przesłana inna treść strony? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 603 Pomógł: 131 Dołączył: 24.07.2007 Skąd: Górny Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Zrób sobie plik domready.js z następującą treścią:
Kod // Adapted from DOM Ready extension by Dan Webb // http://www.vivabit.com/bollocks/2006/06/21/a-dom-ready-extension-for-prototype // which was based on work by Matthias Miller, Dean Edwards and John Resig // // Usage: // // Event.onReady(callbackFunction); Object.extend(Event, { _domReady : function() { if (arguments.callee.done) return; arguments.callee.done = true; if (Event._timer) clearInterval(Event._timer); Event._readyCallbacks.each(function(f) { f() }); Event._readyCallbacks = null; }, onReady : function(f) { if (!this._readyCallbacks) { var domReady = this._domReady; if (domReady.done) return f(); if (document.addEventListener) document.addEventListener("DOMContentLoaded", domReady, false); /*@cc_on @*/ /*@if (@_win32) var dummy = location.protocol == "https:" ? "https://javascript:void(0)" : "javascript:void(0)"; document.write("<script id=__ie_onload defer src='" + dummy + "'><\/script>"); document.getElementById("__ie_onload").onreadystatechange = function() { if (this.readyState == "complete") { domReady(); } }; /*@end @*/ if (/WebKit/i.test(navigator.userAgent)) { this._timer = setInterval(function() { if (/loaded|complete/.test(document.readyState)) domReady(); }, 10); } Event.observe(window, 'load', domReady); Event._readyCallbacks = []; } Event._readyCallbacks.push(f); } }); Dołącz powyższy plik do strony. Następnie w pliku lightbox.js zakomentuj linię (którą znajdziesz na końcu): Kod addLoadEvent(initLightbox); // run initLightbox onLoad A za nią wstaw taką: Kod Event.onReady(initLightbox);
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 30.09.2025 - 01:34 |