Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] funkcja rgb > hex, Problem
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
vodkon
Witam mam funkcje która zamienia rgb na hex i jest problem ponieważ potrzebuje 3 różnych zmiennych a ja mogę dostarczyć tylko jedną (Przez to "rgbToHex(this.value)" )
i jak przerobić aby z jednej rozdzielił je na 3

  1. function rgbToHex(r, g, b) {
  2. return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
  3. }

Wykonywany przez
  1. onBeforeShow: function () { $('#pa_menu_rgb').ColorPickerSetColor(rgbToHex(this.value)); },

value np. wynosi "160, 201, 60" jak zamienić jedną zmienną na 3. przykład rgb='160, 201, 60' na r='160' g='201' b='60'
jak zmienić funkcje żeby odpowiadała powyższemu przykładowi
zegarek84
[JAVASCRIPT] pobierz, plaintext
  1. var str = '160, 201, 60';
  2. var ar = str.match(/[0-9]+/g);
  3. console.log(ar);
[JAVASCRIPT] pobierz, plaintext
webdice
http://stackoverflow.com/questions/1740700...ue-using-jquery

Dostosuj sobie tylko wyrażenie regularne.

EDIT:
Cytat(zegarek84 @ 22.12.2012, 22:31:49 ) *
[JAVASCRIPT] pobierz, plaintext
  1. var str = '160, 201, 60';
  2. var ar = str.match(/[0-9]+/g);
  3. console.log(ar);
[JAVASCRIPT] pobierz, plaintext


Nie lepiej split?
vodkon
  1. function rgbToHex(rgb) {
  2. var hexDigits = [\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\"];
  3. rgb = rgb.match(/^(\d+),\s*(\d+),\s*(\d+)$/);
  4. function hex(x) { return isNaN(x) ? \"00\" : hexDigits[(x - x % 16) / 16] + hexDigits[x % 16]; }
  5. return \"#\" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
  6. }
matwiej
Jakby ktoś jeszcze szukał kiedyś to można rozwiązać to na takiej zasadzie:

[JAVASCRIPT] pobierz, plaintext
  1. var str = '160, 201, 60';
  2. str= str.split(",");
  3. document.write("R:"+str[0]+"<br/>"+"G:"+str[1]+"<br/>"+"B:"+str[2]);
[JAVASCRIPT] pobierz, plaintext
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.