Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne][JavaScript][HTML]jQuery Color Picker Zmiena tło text i belki
avaster12
post 17.11.2013, 15:52:00
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 2.09.2012

Ostrzeżenie: (0%)
-----


Witam mam taki kod jQuery Color Picker i chce aby zmieniał mi 3 rzeczy jak na razie kolor tekstu tła i belki menu
kod plugin u w html
  1.  
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4. <title>Farbtastic</title>
  5. <script type="text/javascript" src="jquery.js"></script>
  6. <script type="text/javascript" src="farbtastic.js"></script>
  7. <link rel="stylesheet" href="farbtastic.css" type="text/css"/>
  8. <style type="text/css" media="screen">
  9. .colorwell {
  10. border: 2px solid #fff;
  11. width: 6em;
  12. text-align: center;
  13. cursor: pointer;
  14. }
  15. body .colorwell-selected {
  16. border: 2px solid #000;
  17. font-weight: bold;
  18. }
  19. </style>
  20.  
  21. <script type="text/javascript" charset="utf-8">
  22. $(document).ready(function() {
  23. $('#demo').hide();
  24. var f = $.farbtastic('#picker');
  25. var p = $('#picker').css('opacity', 0.25);
  26. var selected;
  27. $('.colorwell')
  28. .each(function () { f.linkTo(this); $(this).css('opacity', 0.75); })
  29. .focus(function() {
  30. if (selected) {
  31. $(selected).css('opacity', 0.75).removeClass('colorwell-selected');
  32. }
  33. f.linkTo(this);
  34. p.css('opacity', 1);
  35. $(selected = this).css('opacity', 1).addClass('colorwell-selected');
  36. });
  37. });
  38. </script>
  39. </head>
  40.  
  41. <form action="" style="width: 500px;">
  42. <div id="picker" style="float: right;"></div>
  43. <div class="form-item"><label for="color1">Color 1:</label><input type="text" id="color1" name="color1" class="colorwell" value="#123456" /></div>
  44. <div class="form-item"><label for="color2">Color 2:</label><input type="text" id="color2" name="color2" class="colorwell" value="#123456" /></div>
  45. <div class="form-item"><label for="color3">Color 3:</label><input type="text" id="color3" name="color3" class="colorwell" value="#123456" /></div>
  46. <div class="form-item"><label for="color3">Color 4:</label><input type="text" id="color4" name="color4" class="colorwell" value="#123456" /></div>
  47.  
  48. </form>
  49. </div>
  50. </body>
  51. </html>
  52.  
  53.  


kod mojej strony testowej
  1. <!DOCTYPE HTML>
  2. <meta charset="utf-8">
  3. <title>1 strona</title>
  4. <link href="css/styles.css" rel="stylesheet" type="text/css">
  5. </head>
  6. <div id="wrappez">
  7. <nav>2</nav>
  8. <div id="slider">1</div>
  9. <div id="srodek"></div>
  10. <div id="right">
  11. </div>
  12. <footer>5</footer>
  13.  
  14.  
  15.  
  16. </div>
  17. </body>
  18. </html>
  19.  


css
  1. @charset "utf-8";
  2. /* CSS Document */
  3.  
  4. #wrappez {width: 1000px; height: auto; margin-top: 0px; margin-bottom: 0px; margin-left: auto; margin-right:auto}
  5. nav {width: 1000px; height: 50px; background: red; float: left}
  6. #slider {width: 1000px; height: 300px; background: black; float: left}
  7. #left {width: 200px; height: 300px; background: yellow; float: left}
  8. #srodek {width: 800px; height: 300px; background: red; float: left}
  9. #right {width: 200px; height: 300px; background: yellow; float: left}
  10. footer {width: 1000px; height: 50px; background: black; float: left}
  11. a:hover {color: wight}
  12. a:active {color: blou}
  13. a:visited {color: black}
  14. a: {color: red; display: block}


reszta w pliku rar
farbtastic.zip
Go to the top of the page
+Quote Post
werdan
post 17.11.2013, 16:49:10
Post #2





Grupa: Zarejestrowani
Postów: 354
Pomógł: 100
Dołączył: 14.11.2013
Skąd: Płock

Ostrzeżenie: (0%)
-----


Zrobiłem to, ale musiałem dodac jedna linie w bibliotece. Cos te callbacki z manuala sie mi gryzły dla 3 inputów. Mozliwe ze jest normalne rozwiazanie tego problemu.

W pliku farbtastic.js w linii 241 dodałem:

  1. $(window).trigger("colorChanging", {el: fb.callback, c: fb.color});


W pliku html przed </body> wstawiłem:

  1.  
  2. $(window).on("colorChanging", function(e,data){
  3. // data.el ---> input dla którego zmienia sie kolor,
  4. // data.c ---> nowy kolor
  5. })



W sumie to troche hardcorowe rozwiazanie, ale mysle ze juz sobie dalej dasz rade smile.gif
Go to the top of the page
+Quote Post
avaster12
post 17.11.2013, 17:01:01
Post #3





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 2.09.2012

Ostrzeżenie: (0%)
-----


kolego trochę jaśniej bo ja to ciemna masa nie umiem tego połączyć
Go to the top of the page
+Quote Post
werdan
post 17.11.2013, 17:12:51
Post #4





Grupa: Zarejestrowani
Postów: 354
Pomógł: 100
Dołączył: 14.11.2013
Skąd: Płock

Ostrzeżenie: (0%)
-----


Cytat
kolego trochę jaśniej bo ja to ciemna masa nie umiem tego połączyć


Kurde obawiałem się tego tongue.gif

Ok, juz wyjasniam.


  1. $(window).on("colorChanging", function(e,data){
  2. // data.el ---> input dla którego zmienia sie kolor,
  3. // data.c ---> nowy kolor
  4. })


Dodaj ten kawałek kodu na samym dole pliku przed </body>

Ten event wykonuje sie dla kazdej zmiany koloru kazdego z inputów.

W 'data' dostajesz element (input) dla którego zmianiasz kolor oraz kolor (ten nowy, który ustawiłes)

3 inputy mają swoje id (#color1, #color2, #color3)

Mozesz dopisac

  1. $(window).on("colorChanging", function(e,data){
  2.  
  3. if(data.el.attr("id") === "color1"){
  4. // to zmieniamy kolor tła
  5. $(body).css("backgroundColor", data.c);
  6.  
  7. // lub zmianiamy kolor tekstu
  8. $(body).css("color", data.c);
  9.  
  10.  
  11. }
  12. // itd
  13.  
  14. })



Te 'body' zamień sobie na swoje elementy.

Go to the top of the page
+Quote Post
avaster12
post 19.11.2013, 10:23:07
Post #5





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 2.09.2012

Ostrzeżenie: (0%)
-----


ok kolego doszłem do tego ale jest mały problem


CODE
pobierz, plaintext
<script>
$(window).on("colorChanging", function(e,data){

if(data.el.attr("id") === "color1"){
// to zmieniamy kolor tła
$(body).css("backgroundColor", data.c);

// lub zmianiamy kolor tekstu
if(data.el.attr("id") === "color2"){ dodałem to
$(body).css("color", data.c); tu sunołem $(body).css bo styl mam w tym samym pliku


}
// itd

}})
</script>


ale jak wejdę w adres mam puste pola od koloru nie mogę go wybrać

Ten post edytował avaster12 19.11.2013, 12:19:29
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 06:47