RSS
 

jQuery – podstawy

05 kwi

Podstawy:

  • Wszędzie używamy selektora elementów, magicznej funkcji: $() = jQuery(),
  • Pozwala ona nam dostać się do dowolnego elementu na stronie,
  • $(<wyrażenie>, <kontekst>),
  • $(<HTML>),
  • $(<element DOM>),


 

Wyrażenia:

  • $(<wyrażenie>),
  • $(„*”) Wszystkie elementy z dokumentu,
  • $(„#id_elementu”) Element o podanym id,
  • $(„.klasa_elementu”) Wszystkie elementy podanej klasy,
  • $(„div”) Wszystkie elementy typu div,
  • $(„div,span,p.klasa”) Wszystkie elementy typu div, span lub p o klasie klasa,
  • $(„form input”) – potomek. Wszystkie elementy typu input, które zawierają się w elemencie typu form,
  • $(„div#blok > div”) – dziecko. Wszystkie elementy typu div, które są bezpośrednio w elemencie div o id blok,
  • $(„label + input”) – bezpośredni następnik. Wszystkie elementy typu input, które bezpośrednio przed sobą mają label,
  • $(„div#blok ~ div”) – następniki.

 

Filtry podstawowe w wyrażeniach:

  • $(„li:odd”) – nieparzysty. Wszystkie elementy typu li, które są nieparzyste,
  • $(„li:even”) – parzysty. Wszystkie elementy typu li, które są parzyste,
  • $(„li:gt(4)”) – indeks większy od. Wszystkie elementy typu li, które mają indeks większy od 4,
  • $(„li:lt(4)”) – indeks mniejszy od. Wszystkie elementy typu li, które mają indeks mniejszy od 4,
  • $(„li:first”) – pierwszy. Pierwszy element typu li,
  • $(„li:last”) – ostatni. Ostatni element typu li,
  • $(„li:eq(4)”) – indeks równy. Element typu li, który ma indeks równy 4,
  • $(„li:contains(‚tekst’)”) – zawiera. Wszystkie elementy typu li, w których znajduje się ‘tekst’,
  • $(„p:has(img)”) – ma. Wszystkie elementy typu p, które mają w sobie elementy typu img,
  • $(„ul:empty”) – pusty. Wszystkie elementy typu ul, które nie mają dzieci ani tekstu,
  • $(„ul:parent”) – rodzic. Wszystkie elementy typu ul, które mają dzieci lub tekst w sobie.

 

Atrybuty w wyrażeniach:

  • $(„img[alt]”) – posiada atrybut. Wszystkie elementy typu img, które posiadają atrybut alt,
  • $(„input[type = ‚text’]”) – ma atrybut równy. Wszystkie elementy typu input, których atrybut type jest równy text,
  • $(„input[type != ‚text’]”) – ma atrybut różny. Wszystkie elementy typu input, których atrybut type nie jest równy text,
  • $(„p[class ^= ‚p_’]”) – ma atrybut zaczynający się od. Wszystkie elementy typu p, które mają atrybut class zaczynający się od p_,
  • $(„p[class $= ‚_1′]”) – ma atrybut kończący się.

 

Formularze w wyrażeniach:

  • $(„:checkbox”),
  • $(„:image”),
  • $(„:button”),
  • $(„:file”),
  • $(„:password”),
  • $(„:radio”),
  • $(„:submit”),
  • $(„:text”),
  • $(„:hidden”),
  • $(„:checked”),
  • $(„:enabled”),
  • $(„:disabled”),
  • $(„:input”) – input, textarea, select, button.

 

Manipulacja elementami:

  • $(„img#id1″).attr(„title”),
  • $(„img#id1″).attr(„title”, „nowy”),
  • $(„img#id1″).attr({title: „nowy”, src=”nowy.jpg”}),
  • $(„img#id1″).removeAttr(„title”),
  • $(„p”).addClass(„klasa”),
  • $(„p”).removeClass(„klasa”),
  • $(„p”).hasClass(„klasa”),
  • $(„p”).toggleClass(„klasa”),
  • $(„p”).html(),
  • $(„div”).html(‚<p>test <a href=”#”>link</a></p>’),
  • $(„p”).text(),
  • $(„p”). text(‚<p>test <a href=”#”>link</a></p>’),
  • $(„select#id option:selected”).val(),
  • $(„input”).val(„wpisz tekst”).

 

I dużo, dużo więcej…:

  • Obsługa styli: .css(„background-color”), .css(„background-color”, „red”), .css({„background-color”: „red”, „font-size”: „10px”}),
  • Wstawianie i usuwanie elementów w różne miejsca: .append(„<div>coś</div>”), .remove(),
  • Obsługa zdarzeń: .click(funkcja), .click(),
  • Mierzenie pozycji i wielkości: .position(), .width(), .height(), .offset(),
  • Dodawanie efektów: .show(„slow”), .hide(„fast”),  .slideDown(1000), .slideUp(500), .fadeIn(100), .fadeOut(500), .animate({opacity: 0.5, width: „50%”}, 1000),
  • AJAX: $.get(„test.php”, function(data) { alert(‚loaded’ + data);,
  • Detekcja przeglądarki, operacje na tablicach i obiekatach, serializacja, dodawanie własnych danych do elementów.

 

Linki i wtyczki:

 

źródło: www.ii.uni.wroc.pl/~pwo/Sem_wiecz/Prezentacje/jQuery.ppt
 
No Comments

Posted in jQuery

 

Sprawdzanie rozszerzenia pliku przy uploadzie

12 sty

Prosty skrypt do sprawdzania rozszerzenia plików w PHP.

$SafeFile = ‚franek.nie.umyl.dzis.zebow.jpeg';
$roz_pliku2 = explode(„.”,$SafeFile);
$cnt = count($roz_pliku2);
$roz_pliku = $roz_pliku2[$cnt-1];

Wynikiem oczywiście będzie: jpeg.

 
No Comments

Posted in Php

 

Asus A5SL – „Odetkanie” chłodzenia procesora

25 gru

Trafił do mnie lekko przegrzewający się laptop Asus A5SL. Jak wstępnie podejrzewałem w laptopie zebrało się trochę kurzu i zatkany został radiator przez który odprowadzane jest ciepło. Jest to częsta usterka jednak prosta w usunięciu. Akurat w tym modelu dostęp do chłodzenia jest bardzo ułatwiony. Trafiają się laptopy fatalnie zaprojektowane pod względem serwisu i trzeba je całe rozebrać aby wszystko dobrze przeczyścić. Poniżej kilka fotek z pracy.

 

Podtrzymanie sesji strony

15 lis

W celu podtrzymania sesji na stronie pomiędzy <head></head> umieszczamy:

<script type="text/javascript">
setInterval("advAJAX.get({ url: 'ses.php' });", 180000);
</script>

, gdzie plik ses.php wygląda następująco:

<? session_start(); header('Refresh: 60'); ?>

 
 

Jak usunąć tekst „Powerd By …” we wtyczce Phoca Gallery 2.7.5

03 lis

Wchodzimy do katalogu:

joomla_root / administrator / components / com_phocagallery / libraries / phocagallery / render /

i edytujemy plik: renderfront.php

W linii 551 zmieniamy kod:

return ‚<‚.’d’.’i’.’v’.’ ‚.’s’.’t’.’y’.’l’.’e’.’=’.'”‚.’t’.’e’.’x’.’t’.’-‚.’a’.’l’.’i’.’g’.’n’.':’.’ ‚.’c’.’e’.’n’.’t’.’e’.’r’.';’.’ ‚.’c’.’o’.’l’.’o’.’r’.':’.’ ‚.’r’.’g’.’b’.'(‚.’2′.’1′.’1′.’,’.’ ‚.’2′.’1′.’1′.’,’.’ ‚.’2′.’1′.’1′.’)’.';’.'”‚.’>’.’P’.’o’.’w’.’e’.’r’.’e’.’d’.’ ‚.’b’.’y’.’ ‚.'<‚.’a’.’ ‚.’h’.’r’.’e’.’f’.’=’.'”‚.’h’.’t’.’t’.’p’.':’.’/’.’/’.’w’.’w’.’w’.’.’.’p’.’h’.’o’.’c’.’a’.’.’.’c’.’z’.'”‚.’ ‚.’s’.’t’.’y’.’l’.’e’.’=’.'”‚.’t’.’e’.’x’.’t’.’-‚.’d’.’e’.’c’.’o’.’r’.’a’.’t’.’i’.’o’.’n’.':’.’ ‚.’n’.’o’.’n’.’e’.';’.'”‚.’ ‚.’t’.’a’.’r’.’g’.’e’.’t’.’=’.'”‚.’_’.’b’.’l’.’a’.’n’.’k’.'”‚.’ ‚.’t’.’i’.’t’.’l’.’e’.’=’.'”‚.’P’.’h’.’o’.’c’.’a’.’.’.’c’.’z’.'”‚.’>’.’P’.’h’.’o’.’c’.’a’.'<‚.’/’.’a’.’>’.’ ‚.'<‚.’a’.’ ‚.’h’.’r’.’e’.’f’.’=’.'”‚.’h’.’t’.’t’.’p’.':’.’/’.’/’.’w’.’w’.’w’.’.’.’p’.’h’.’o’.’c’.’a’.’.’.’c’.’z’.’/’.’p’.’h’.’o’.’c’.’a’.’g’.’a’.’l’.’l’.’e’.’r’.’y’.'”‚.’ ‚.’s’.’t’.’y’.’l’.’e’.’=’.'”‚.’t’.’e’.’x’.’t’.’-‚.’d’.’e’.’c’.’o’.’r’.’a’.’t’.’i’.’o’.’n’.':’.’ ‚.’n’.’o’.’n’.’e’.';’.'”‚.’ ‚.’t’.’a’.’r’.’g’.’e’.’t’.’=’.'”‚.’_’.’b’.’l’.’a’.’n’.’k’.'”‚.’ ‚.’t’.’i’.’t’.’l’.’e’.’=’.'”‚.’P’.’h’.’o’.’c’.’a’.’ ‚.’G’.’a’.’l’.’l’.’e’.’r’.’y’.'”‚.’>’.’G’.’a’.’l’.’l’.’e’.’r’.’y’.'<‚.’/’.’a’.’>’.'<‚.’/’.’d’.’i’.’v’.’>';

na kod:

return ‚ ‚;

Dodatkowo w linii od 686 do 700 zmieniamy kod:

function getDivs(){
return ‚<div style=”tex’
.’t-align: center; color:#d3d3′
.’d3;”>Power’
.’ed by <a href=”htt’
.’p://www.pho’
.’ca.cz” style=”text-decor’
.’ation: none;” tar’.’get=”_bl’
.’ank” title=”Ph’
.’oca.cz”>Phoc’
.’a</a> <a href=”http://www.p’
.’hoca.cz/phocagallery” style=”tex’
.’t-decoration: none;” ta’.’rget=”_bla’.’nk” title=”Pho’.’ca Gal’
.’lery”>Gal’.’lery</a></div>';
}

na kod:

function getDivs(){
return ‚ ‚;
}

 
No Comments

Posted in Joomla

 

Walidacja formularza i blokada przycisku

15 wrz

Poniższy skrypt sprawdza tylko i wyłącznie czy cokolwiek zostało wpisane w danego inputa i jeżeli wszystkie wymagane pola nie zostały wypełnione to przycisk pozostaje wyłączony.

<html>
<head>
<script language=”JavaScript” type=”text/JavaScript”>

function walidacja()
{
var f = document.forms[‚form1′];
if ((f.chk1.checked) && (f.chk2.checked) && (f.chk3.value != ”))
{
f.s1.disabled = false;
}
else
{
f.s1.disabled = true;
}
}

</script>
</head>
<body>

<form action=”#” id=”f1″>

<input type=”checkbox” name=”w1″ onclick=”walidacja()” />Checkbox 1<br>
<input type=”checkbox” name=”w2″ onclick=”walidacja()” />Checkbox 2<br>
<input type=”text” name=”w3″ onblur=”walidacja()”><br>
<br>
<input type=”submit” name=”s1″ value=”Wyślij” disabled=”disabled” />

</form>
</body>
</html>

 
1 Comment

Posted in JavaScript

 

Zamów Pan Pizzę!

10 wrz

Zastanawialiście się kiedyś które pizze kupić na imprezę aby jak najbardziej zapchać żołądek ? Dużą i małą, dużą i średnią czy dwie średnie ? Przy założeniu że pizze będą takie same można to łatwo sprawdzić.

– pole pizzy o średnicy 0.5 m: 0,19625 m²,
– pole pizzy o średnicy 0.4 m: 0,12560 m²,
– pole pizzy o średnicy 0.3 m: 0,07065 m².

Łatwo więc teraz wyliczyć że:

– 2 duże pizze mają pole: 0,3925 m²,
– 1 duża i 1 średnia pizza mają pole: 0,32185 m²,
– 1 duża i 1 mała pizza mają pole: 0,26690 m²,
– 2 średnie pizze mają pole: 0,2512m²,
– 1 średnia i 1 mała pizza mają pole: 0,19625.

Przy założeniu, że pizze są idealnie okrągłe i nie liczymy się z pieniędzmi, lepiej zamówić jedną dużą i jedną małą.

– cena pizzy Margerita o średnicy 0.5 m: 19,90 zł,
– cena pizzy Margerita o średnicy 0.4 m: 16,90 zł,
– cena pizzy Margerita o średnicy 0.3 m: 9,90 zł.

Biorąc pod uwagę ceny:

– 0,00001 m² pizzy Margerita o średnicy 0.5 m kosztuje: 0,00101401273885350318471337579618 zł,
– 0,00001 m² pizzy Margerita o średnicy 0.4 m kosztuje: 0,00134554140127388535031847133758 zł,
– 0,00001 m² pizzy Margerita o średnicy 0.3 m kosztuje: 0,00140127388535031847133757961783 zł.

– 2 duże pizze Margerita kosztują: 39,8 zł,
– 1 duża i 1 średnia pizza Margerita kosztują: 36,8 zł,
– 2 średnie pizze Margerita kosztują: 33,80 zł,
– 1 duża i 1 mała pizza Margerita kosztują: 29,80 zł,
– 1 średnia i 1 mała pizza Margerita kosztuje: 26,8 zł.

Zatem:

– 0,1 m² zestawu (2 duże) pizzy Margerita kosztuje:10,140127388535031847133757961783
– 0,1 m² zestawu (1 duża + 1 średnia) pizzy Margerita kosztuje: 11,433897778468230542178033245301 zł,
– 0,1 m² zestawu (1 duża + 1 mała) pizzy Margerita kosztuje: 11,863057324840764331210191082803 zł,
– 0,1 m² zestawu (2 średnie) pizzy Margerita kosztuje: 12,663919070813038591232671412514 zł,
– 0,1 m² zestawu (1 średnia + 1 mała) pizzy Margerita kosztuje: 13,656050955414012738853503184713 zł.

Czyli jak widać najtaniej zapchamy brzuchy dwiema dużymi pizzami ;-)

 
 

Prestashop 1.2.2 – problem z logowaniem do admina

18 sie

Bardzo często zdarza się, że po instalacji występuje problem z logowanie do admina sklepu. Rozwiązaniem jest nadanie pełnych uprawnień (777) katalogowi /tmp w głównym katalogu na serwerze strony – nie mylić z głównym katalogiem sklepu. Po tej operacji wszystko wraca do normy.

 
 

Brak polskich znaków w SMF RC3

12 sie

Zaktualizowałem forum z RC2 na RC3 i pojawił się problem z polskimi znakami na forum. Można było wszystko przeklepać od nowa ale po co. Pomogło dodanie w Settings.php zaraz przed połączenie z bazą (linia 39):

$db_character_set = ‚utf8′;

Po wrzuceniu na serwer wszystko wróciło do normy.

 
No Comments

Posted in SMF

 

GG, Tlen i Skype dla SMF 2.0 RC3

27 lip

Ostatnio ciężko było o paczkę GG, tlena i Skype’a do profili w SMF 2.0 RC3. Paczka powstała wersja 1.5 która po drobnych modyfikacjach idealnie pasuje do RC3. Można ją pobrać stąd.

 
No Comments

Posted in SMF

 
Page 1 of 3123