🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.javascript
5 messages
5 total messages Started by Tdobe Sun, 17 Oct 2010 08:31
Czekanie na załadowanie JS?
#50347
Author: Tdobe
Date: Sun, 17 Oct 2010 08:31
17 lines
1824 bytes
Witam,

Korzystam sobie z jQuery z modułu thickbox (jeśli link ma taką klasę
okno otwierane jest w osobnym divie jako np. modalne)

przyklad linku: <a href="adres" class="thickbox">otworz okienko
modalne</a>

Tylko jest mały problem, jak za szybko kliknę w takiego linka (strona
się jeszcze nie załoadowała... lub moduł thickbox.js nie zadziałał...
jeszcze) to otwiera mi sie link w sposób standardowy.

Zrobiłem w onload nawet żeby te linki dopiero się pojawiały, ale i tak
nie pomaga, nie wiem.

Może trzeba jakoś zaczekać na poprawność wykonania thickbox,js? na
stronie, jak to zrobić?
Re: Czekanie na załadowanie JS?
#50348
Author: Peter May
Date: Sun, 17 Oct 2010 09:41
33 lines
2238 bytes
W dniu 2010-10-17 10:31, Tdobe pisze:
> Witam,
>
> Korzystam sobie z jQuery z modułu thickbox (jeśli link ma taką klasę
> okno otwierane jest w osobnym divie jako np. modalne)
>
> przyklad linku:<a href="adres" class="thickbox">otworz okienko
> modalne</a>
>
> Tylko jest mały problem, jak za szybko kliknę w takiego linka (strona
> się jeszcze nie załoadowała... lub moduł thickbox.js nie zadziałał...
> jeszcze) to otwiera mi sie link w sposób standardowy.

No i tak powinno być. Jeśli JavaScript jest niedostępny, to wtedy 
zadziała normalny URL. Pamiętaj o tych, co nie mają z jakiegoś powodu 
dostępnego JavaScript-u.

> Zrobiłem w onload nawet żeby te linki dopiero się pojawiały, ale i tak
> nie pomaga, nie wiem.
>
> Może trzeba jakoś zaczekać na poprawność wykonania thickbox,js? na
> stronie, jak to zrobić?

Ekstremalnie możesz zrobić tak, że załadujesz całą stronę z linkami, 
które będą miały atrybut href="#". W jakiejś tablicy możesz przechowywać 
sobie id i url do linków. Potem, po załadowaniu strony, po prostu 
wypełniasz linki odpowiednim adresem URL.

To oczywiście nie jest najlepsze rozwiązanie, bo Ci, co nie mają 
JavaScript-u, nie skorzystają z tej strony :/

-- 
Peter
Re: Czekanie na załadowanie JS?
#50351
Author: Paweł Piskorz
Date: Sun, 17 Oct 2010 11:50
43 lines
2355 bytes
On 2010-10-17 10:31, Tdobe wrote:
> Korzystam sobie z jQuery z modułu thickbox (jeśli link ma taką klasę
> okno otwierane jest w osobnym divie jako np. modalne)
>
> przyklad linku:<a href="adres" class="thickbox">otworz okienko
> modalne</a>
>
> Tylko jest mały problem, jak za szybko kliknę w takiego linka (strona
> się jeszcze nie załoadowała... lub moduł thickbox.js nie zadziałał...
> jeszcze) to otwiera mi sie link w sposób standardowy.

W thickbox.js:
/*!!!!!!!!!!!!!!!!! edit below this line at your own risk 
!!!!!!!!!!!!!!!!!!!!!!!*/

//on page load call tb_init
/*$(document).ready(function(){   */ // tę linię wywal
	tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to 
apply thickbox
	imgLoader = new Image();// preload image
	imgLoader.src = tb_pathToImage;
/*});*/ // tę linię wywal

//add thickbox to href & area elements that have a class of .thickbox
function tb_init(domChunk){
/*	$(domChunk).click(function(){*/ // tę linię wywal
	$(domChunk).live( 'click', function(){ // tę linię dodaj
	var t = this.title || this.name || null;
	var a = this.href || this.alt;
	var g = this.rel || false;
	tb_show(t,a,g);
	this.blur();
	return false;
	});
}

I pamiętaj żeby jQuery i thickbox były w <head/>


-- 
message[autor="PablO"]::after {
	content:"Pozdrawiam";
}
Re: Czekanie na załadowanie JS?
#50349
Author: Tdobe
Date: Sun, 17 Oct 2010 20:54
9 lines
1650 bytes
Wiem, wiem,

ale to jest panel administracyjny do zarządzania baza danych dla
zamkniętej grupy klientów,

a co do tego # w href, to zrobiłem podobnie, tzn. div z linkami tego
typu jest standardowo wyłączony w css-ie - nie widoczny, w onload body
zrobilem pokazywanie tego diva... ale i tak
onload jest wykonywany przed tym jak zainicjuje sie jquery...
Re: Czekanie na załadowanie JS?
#50350
Author: Paweł Arciszewski
Date: Sun, 17 Oct 2010 22:22
17 lines
2071 bytes
On 17 Paź, 22:54, Tdobe <tdober...@gmail.com> wrote:
> Wiem, wiem,
>
> ale to jest panel administracyjny do zarządzania baza danych dla
> zamkniętej grupy klientów,
>
> a co do tego # w href, to zrobiłem podobnie, tzn. div z linkami tego
> typu jest standardowo wyłączony w css-ie - nie widoczny, w onload body
> zrobilem pokazywanie tego diva... ale i tak
> onload jest wykonywany przed tym jak zainicjuje sie jquery...

To trochę dziwne. jquery i thickbox muszą być w sekcji <head>. Spróbuj
też zamiast <body onload="..."> zrobić:
$(document).ready(function(){...})

Pozdrawiam,
Paweł Arciszewski
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads