-
1. Data: 2011-01-04 23:09:09
Temat: Potrzebuję pomocy - JS
Od: vcore <mail*wytnij*@vcore.pl>
Mam skrypt php listujący zawartość katalogu, do tego podpięty lightbox, który
wyświetla obrazki po
kliknięciu w link z klasą ,,lightbox" problem w tym że skrypt php nie zwraca uwagi na
rozszerzenia
plików, i w templatce tego skryptu mogę dodać klasę dla wszystkich linków lub dla
żadnego. I efekt
tego jest taki że po kliknięciu na link prowadzący do pliku rar dostaję alert z
błędem lightboxa. I
takiego pliku nie da się ściągnąc, jedynie za pomocą ,,Zapisz odnośnik jako...",
obrazki działają
poprawnie. Potrzebuję więc prosty (mam nadzieje) skrypt js, który doda klasę
,,lightbox" do każdego
elementu który zawiera ,,href" do obrazka (jpg, png, gif)
Byłbym bardzo wdzieczny za pomoc, pozdrawiam.
-
2. Data: 2011-01-04 23:20:13
Temat: Re: Potrzebuję pomocy - JS
Od: Peter May <p...@o...pl>
W dniu 2011-01-05 00:09, vcore pisze:
> Mam skrypt php listujący zawartość katalogu, do tego podpięty lightbox,
> który wyświetla obrazki po kliknięciu w link z klasą ,,lightbox" problem
> w tym że skrypt php nie zwraca uwagi na rozszerzenia plików, i w
> templatce tego skryptu mogę dodać klasę dla wszystkich linków lub dla
> żadnego. I efekt tego jest taki że po kliknięciu na link prowadzący do
> pliku rar dostaję alert z błędem lightboxa. I takiego pliku nie da się
> ściągnąc, jedynie za pomocą ,,Zapisz odnośnik jako...", obrazki działają
> poprawnie. Potrzebuję więc prosty (mam nadzieje) skrypt js, który doda
> klasę ,,lightbox" do każdego elementu który zawiera ,,href" do obrazka
> (jpg, png, gif)
>
> Byłbym bardzo wdzieczny za pomoc, pozdrawiam.
Pisane z palca, nie testowane:
var elms = document.links;
var i = elms.length;
if(i<1){ return false; }
var h, elm, classlight = 'lightbox';
var r = new RegExp('(^|\\s)' + classlight + '(\\s|$)');
while(i--)
{
elm = elms[i];
h = elms[i].href;
if(typeof h == 'string')
{
if( h.lastIndexOf('.jpg') != -1 || h.lastIndexOf('.png') != -1 ||
h.lastIndexOf('.gif') != -1 )
{
if (!elm.className)
{
elm.className = classlight;
}
else
{
if (!r.test(elm.className))
{
elm.className += ' ' + classlight;
}
}
}
}
}
--
Peter
-
3. Data: 2011-01-04 23:31:46
Temat: Re: Potrzebuję pomocy - JS
Od: vcore <mail*wytnij*@vcore.pl>
Niestety nie działa, klasa się nie dodaje
-
4. Data: 2011-01-04 23:39:51
Temat: Re: Potrzebuję pomocy - JS
Od: Peter May <p...@o...pl>
W dniu 2011-01-05 00:31, vcore pisze:
> Niestety nie działa, klasa się nie dodaje
A, drobny błąd się wkradł. Sprawdź teraz:
var elms = document.links;
var i = elms.length;
if(i > 0)
{
var h, elm, classlight = 'lightbox';
var r = new RegExp('(^|\\s)' + classlight + '(\\s|$)');
while(i--)
{
elm = elms[i];
h = elms[i].href;
if(typeof h == 'string')
{
if( h.lastIndexOf('.jpg') != -1 || h.lastIndexOf('.png') != -1
|| h.lastIndexOf('.gif') != -1 )
{
if (!elm.className)
{
elm.className = classlight;
}
else
{
if (!r.test(elm.className))
{
elm.className += ' ' + classlight;
}
}
}
}
}
}
--
Peter
-
5. Data: 2011-01-04 23:44:38
Temat: Re: Potrzebuję pomocy - JS
Od: vcore <mail*wytnij*@vcore.pl>
W dniu 2011-01-05 00:39, Peter May pisze:
> W dniu 2011-01-05 00:31, vcore pisze:
>> Niestety nie działa, klasa się nie dodaje
>
> A, drobny błąd się wkradł. Sprawdź teraz:
>
Niestety nadal nic się nie pojawia
-
6. Data: 2011-01-04 23:51:24
Temat: Re: Potrzebuję pomocy - JS
Od: Peter May <p...@o...pl>
W dniu 2011-01-05 00:44, vcore pisze:
> W dniu 2011-01-05 00:39, Peter May pisze:
>> W dniu 2011-01-05 00:31, vcore pisze:
>>> Niestety nie działa, klasa się nie dodaje
>>
>> A, drobny błąd się wkradł. Sprawdź teraz:
>>
>
> Niestety nadal nic się nie pojawia
Sprawdziłem, kod działa i do linków dodaje klasę, którą chciałeś. A w
jakiej przeglądarce masz błąd? Sprawdź w firebug-u w Firefoksie, jeśli
go używasz.
--
Peter
-
7. Data: 2011-01-04 23:53:00
Temat: Re: Potrzebuję pomocy - JS
Od: Peter May <p...@o...pl>
W dniu 2011-01-05 00:44, vcore pisze:
> W dniu 2011-01-05 00:39, Peter May pisze:
>> W dniu 2011-01-05 00:31, vcore pisze:
>>> Niestety nie działa, klasa się nie dodaje
>>
>> A, drobny błąd się wkradł. Sprawdź teraz:
>>
>
> Niestety nadal nic się nie pojawia
I jeszcze jedno: W którym miejscu kodu html uruchamiasz ten skrypt? W
<head></head>? Czy na końcu tuż przed </body>?
--
Peter
-
8. Data: 2011-01-05 00:10:14
Temat: Re: Potrzebuję pomocy - JS
Od: vcore <mail*wytnij*@vcore.pl>
W dniu 2011-01-05 00:53, Peter May pisze:
> I jeszcze jedno: W którym miejscu kodu html uruchamiasz ten skrypt? W
<head></head>? Czy na końcu
> tuż przed </body>?
Umieściłem przed </body> i działa, Dzięki!
-
9. Data: 2011-01-05 14:24:06
Temat: Re: Potrzebuję pomocy - JS
Od: Borys Pogoreło <b...@p...edu.leszno>
Dnia Wed, 05 Jan 2011 00:44:38 +0100, vcore napisał(a):
>>> Niestety nie działa, klasa się nie dodaje
>>
>> A, drobny błąd się wkradł. Sprawdź teraz:
>
> Niestety nadal nic się nie pojawia
Jeśli nie masz alergii na frameworki jak niektórzy tutaj ;>
i jest to jQuery Lightbox, to spróbuj czegoś takiego:
$("a").filter(function(){ return
/(jpe?g|png|gif)$/i.test($(this).attr('href')); }).lightBox({...});
--
Borys Pogoreło
borys(#)leszno,edu,pl
-
10. Data: 2011-01-05 14:25:20
Temat: Re: Potrzebuję pomocy - JS
Od: Borys Pogoreło <b...@p...edu.leszno>
Dnia Wed, 05 Jan 2011 00:44:38 +0100, vcore napisał(a):
>>> Niestety nie działa, klasa się nie dodaje
>>
>> A, drobny błąd się wkradł. Sprawdź teraz:
>
> Niestety nadal nic się nie pojawia
Jeśli nie masz alergii na frameworki jak niektórzy tutaj ;>
i jest to jQuery Lightbox, to spróbuj czegoś takiego:
$("a").filter(function(){ return
/(jpe?g|png|gif)$/i.test($(this).attr('href')); }).lightBox({...});
lub .addClass('lightbox') i dalej "zwykły" Lightbox
--
Borys Pogoreło
borys(#)leszno,edu,pl