Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][JavaScript][HTML]jQuery Color Picker Zmiena tło text i belki
Forum PHP.pl > Forum > Przedszkole
avaster12
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
werdan
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
avaster12
kolego trochę jaśniej bo ja to ciemna masa nie umiem tego połączyć
werdan
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.

avaster12
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ć
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.