Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ColorPicker и быстрая смена цвета сайта, ColorPicker и быстрая смена цвета сайта  
:(
    Опции темы
depodimon
Дата 29.12.2009, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 27.10.2009

Репутация: нет
Всего: нет



Собственно использую скрипт Farbtastic Color Picker 1.2
Ссылка: http://acko.net/dev/farbtastic

Мне нужно чтобы сразу вместе с изменением цвета менялся и цвет сайта.

Сделал так:  

Код

    <script type='text/javascript'>
    $(document).ready(function() {

    $('#colorpicker').farbtastic('#color , .color'); //добавил свой класс .color

    });
    </script>


всё меняется отлично. 

Но есть цвет по-умолчанию 
<input type='text' id='color' name='color' value='#18a5c9'>

Если без класса,  вот так  $('#colorpicker').farbtastic('#color'); то он нормально передаёт его полю
и с поля цвет при заходе на страницу или после F5, а если с классом .color то он полю не передаёт цвет при заходе на странцу, а надо чтобы передавал! 

Я уже всю голову себе поломал, подскажите как сделать? 
PM MAIL   Вверх
IDVsbruck
Дата 30.12.2009, 02:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 7
Всего: 22



Посмотрел библиотечку ... похоже, у них немного расхождения между описанием и кодом ...

Читаем:
...
$(...).farbtastic(callback)
This creates color pickers in the selected objects. callback is optional and can be a:
• DOM Node, jQuery object or jQuery selector: the color picker will be linked to the selected element(s) by syncing the value (for form elements) and color (all elements).

Смотри в библиотеке:
(опускаем цепочку передач параметров)
Код

...
  fb.linkTo = function (callback) { //базовая функция - единственная, вызываемая прямо из модуля
    // Unbind previous nodes
    if (typeof fb.callback == 'object') {
      $(fb.callback).unbind('keyup', fb.updateValue);
    }

    // Reset color
    fb.color = null;

    // Bind callback or elements
    if (typeof callback == 'function') { //начинаем проверку - функция
      fb.callback = callback;
    }
    else if (typeof callback == 'object' || typeof callback == 'string') { // или объекты/селектор
      fb.callback = $(callback);
      fb.callback.bind('keyup', fb.updateValue);
      if (fb.callback.get(0).value) {
        fb.setColor(fb.callback.get(0).value); //как видно, берется только первый элемент из всего множества, которому и назначается дальнейшая обработка
      }
    }
    return this;
  }
...


Если не боишься менять базовый модуль, то можно попробовать видоизменить типа такого:
Код

...
else if (typeof callback == 'object' || typeof callback == 'string') {
    fb.callback = $(callback);
    fb.callback.bind('keyup', fb.updateValue);
    $.each(fb.callback, function(elem){if (elem.value) fb.setColor(elem.value)});
}
...

Уверенности, что будет правильно работать, нет, так как могут быть какие-то настроечные данные и непонятно, будет ли вообще работать со множеством.
В крайнем случае можешь сделать выборку своих элементов и в цикле (или с помощью each) назначить цвет всем элементам.
Плиз, отпишись по результатам.

Это сообщение отредактировал(а) IDVsbruck - 30.12.2009, 02:13
PM MAIL   Вверх
depodimon
Дата 30.12.2009, 03:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 27.10.2009

Репутация: нет
Всего: нет



Попробовал всёровно не хочет начальное значение получать, так то работает когда нажмёшь и начнёшь водить , а как только заходишь на страницу значение не получает. Ну а если без класса вызывать то получает
PM MAIL   Вверх
depodimon
Дата 30.12.2009, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 27.10.2009

Репутация: нет
Всего: нет



 smile Блин как его заставить работать.. Сейчас работает но глупым способом, 
    
Код

<script type='text/javascript'>
    $(document).ready(function() {

    $('#colorpicker').farbtastic('#color');

    $('#colorpicker').mouseover(function () {
    $('.color').css('background-color', $('#color').val());
    });

    });
    </script>



хотелось бы по уму всё сделать! 

Подскажите кто нибудь, как нормально это реализовать!?
PM MAIL   Вверх
depodimon
Дата 2.1.2010, 01:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 27.10.2009

Репутация: нет
Всего: нет



 smile  smile 

Это сообщение отредактировал(а) depodimon - 7.1.2010, 22:30
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0423 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.