Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Стиль для радио кнопки
 
 автор: *m*   (17.05.2009 в 19:26)   письмо автору
22.3 Кб
 
 

Доброго всем времени суток!

Втсал такой вопрос, можно ли стандарной радио кнопке придать следующий вид (см. приложение) ?
Тоесть вместо обычной точки чтобы была нарисованная кнопка.

И отсюда второй вопрос, можно ли сделать так: если кнопка активна, она например зеленая, когда неактивна, тоесть не выбрана, она синяя?

Если можно то опишите пожалуйста как. Ввиду моей не приспособленности к графике, пожалуйста, поподробнее.

Спасибо.

  Ответить  
 
 автор: sl1p   (17.05.2009 в 21:14)   письмо автору
 
   для: *m*   (17.05.2009 в 19:26)
 

если я правильно понял, возможно нужен чекбокс, то тогда вот,
када-то себе писал, надеюсь под себя сможете переделать)


Function.prototype.onload = function() {
    var root = window.addEventListener || window.attachEvent ? window : document.addEventListener ? document : null;
    if (root) {
        if (root.addEventListener) root.addEventListener("load", this, false);
        else if (root.attachEvent) root.attachEvent("onload", this);
    }
}
///
var _checkbox = {
    init: function() {
        var inps = document.getElementsByTagName("INPUT");
        if(!inps.length) return false;
        var a, b, c;
        var msie = inps[0].attachEvent && navigator.userAgent.indexOf("Opera") == -1 ? true : false;
        for(var i = 0, l = inps.length; i < l; i++) {
            if(inps[i].type != "checkbox") continue;
            if(inps[i].className.indexOf('checkbox') == -1) continue;
            a = document.createElement("SPAN");
            with(a) {
                className = inps[i].className;
                onclick = function() { _checkbox.checked(this) }
                if(msie) {
                    onmouseover = function() { this.className += ' hover' }
                    onmouseout  = function() { this.className = this.className.replace(' hover', '') }
                }
            }
            b = document.createElement("DIV");
            c = inps[i].parentNode.replaceChild(a, inps[i]);
            b.appendChild(c);
            a.appendChild(b);
            if(c.checked) _checkbox.checked(a);
            if(c.disabled) _checkbox.disabled(a);
        }
    },
    checked: function(obj, mode) {
        if(!obj) return false;
        var checked = typeof mode == 'boolean' ? mode : obj.className.indexOf('checked') > -1;
        var x = obj.firstChild.firstChild;
        if(typeof mode == 'boolean') {
            x.checked = checked;
            checked = checked ? false : true;
        } else {
            x.checked = checked ? false : true;
        }
        if(checked)
            obj.className = obj.className.replace(' checked', '');
        else
            obj.className += ' checked';
        return x.checked;
    },
    disabled: function(obj, mode) {
        if(!obj) return false;
        mode = typeof mode == 'boolean' ? mode : true;
        if(mode) {
            obj.onclick = '';
            obj.className += ' disabled';
        } else {
            obj.onclick = function() { _checkbox.checked(this) }
            obj.className = obj.className.replace(' disabled', '');
        }
        return mode;
    }
}
////
/* ------------------------ Checkbox ------------------------ */
input.checkbox { display: none }
span.checkbox {
    display: inline-block;
    width: 14px;
    height: 14px;
    font-size: 0px;
    background: url(checkbox.png) bottom left;
}
span.checkbox:hover,
span.checkbox.hover {
    background: url(checkbox.png) center left;
}
span.checkbox.checked {
    background: url(checkbox.png) top left;
}
span.checkbox input { display: none; visibility: hidden }

span.checkbox.disabled {
    opacity: 0.7;
    filter: alpha(opacity=70);
}
////
<input type="checkbox" class="checkbox" name="checkbox1" value="true1">
<input type="checkbox" class="checkbox" name="checkbox2" value="true2" checked>
<input type="checkbox" class="checkbox" name="checkbox3" value="true3" disabled>
////


всего навсего нужно добавить к стандартной кнопке "class="checkbox" чтобы она была изменена.

  Ответить  
 
 автор: *m*   (17.05.2009 в 21:25)   письмо автору
 
   для: sl1p   (17.05.2009 в 21:14)
 

вобщем радио-кнопка. ну да ладно пускай будет чекбокс))
я так понял ява скрипт выполняется тут и еще есть елементы css.

не могли бы подсказать как разбить весь ваш пример кода на части, а именно где начинается и заканчивается ява скрипт и прописать его запуск к чекбоксу. А лучше просто прикрепить его в аттач.

Я правильно понял стили нужно прописать в файл со стилями? А чекбоксы должны обязательно быть помечены?

  Ответить  
 
 автор: sl1p   (17.05.2009 в 21:28)   письмо автору
 
   для: *m*   (17.05.2009 в 21:25)
 

>>А чекбоксы должны обязательно быть помечены?
нет, я переделаю:)

выложу немного позже, расфасую всё как надо и выложу :)

  Ответить  
 
 автор: *m*   (17.05.2009 в 21:38)   письмо автору
 
   для: sl1p   (17.05.2009 в 21:28)
 

ок спасибо) буду ждать.

  Ответить  
 
 автор: PAT   (17.05.2009 в 21:45)   письмо автору
 
   для: sl1p   (17.05.2009 в 21:28)
 

Когда будете "фасовать", не забудьте, что псевдокласс :hover в MSIE работает ТОЛЬКО у ссылок.

  Ответить  
 
 автор: sl1p   (17.05.2009 в 22:26)   письмо автору
2.5 Кб
 
   для: PAT   (17.05.2009 в 21:45)
 

для этого в скрипте он насильно лепится для мсие:)

вопщем вот вроде как просили: >>>>

  Ответить  
 
 автор: *m*   (17.05.2009 в 22:39)   письмо автору
 
   для: sl1p   (17.05.2009 в 22:26)
 

спасибо вам огромное!
но вот новый аблом..(( поскольку чекбокс, то получается выбрать можно несколько вариантов, а мне нужно чтобы можно было выбрать только один из вариантов.. в том то и отличие радио кнопки получается..

а для радио кнопки можно такое сделать??

sl1p в любом случае спсибо за суету все равно очень пригодиться то что вы мне дали.

и еще один момент , а как дать имена то чекбоксам, вместо checkbox #0 checkbox #1 checkbox #2??

  Ответить  
 
 автор: sl1p   (17.05.2009 в 23:00)   письмо автору
 
   для: *m*   (17.05.2009 в 22:39)
 

можно) есть заготовочка, только кривоватая.. доделаю, брошу)

  Ответить  
 
 автор: *m*   (17.05.2009 в 23:03)   письмо автору
 
   для: sl1p   (17.05.2009 в 23:00)
 

спасибо еще раз, я тогда жду..

  Ответить  
 
 автор: sl1p   (17.05.2009 в 23:00)   письмо автору
 
   для: *m*   (17.05.2009 в 22:39)
 

и еще один момент , а как дать имена то чекбоксам, вместо checkbox #0 checkbox #1 checkbox #2??

в атрибуте title

  Ответить  
 
 автор: *m*   (17.05.2009 в 23:11)   письмо автору
 
   для: sl1p   (17.05.2009 в 23:00)
 

сори не заметил тайтл))

  Ответить  
 
 автор: *m*   (19.05.2009 в 15:06)   письмо автору
 
   для: sl1p   (17.05.2009 в 23:00)
 

ожидаю ваш скрипт, очень нада, ибо сам я яву не знаю, неасилю написание..(

  Ответить  
 
 автор: *m*   (24.05.2009 в 00:34)   письмо автору
 
   для: *m*   (19.05.2009 в 15:06)
 

сори за назойливость, оч нужен скрипт, мне щас нада решать ибо сроки поджимают.
вы сможете выложить в ближайшие несколько дней???

  Ответить  
 
 автор: sl1p   (25.05.2009 в 13:35)   письмо автору
 
   для: *m*   (24.05.2009 в 00:34)
 

Да, я извиняюсь, через пол часика постараюсь выложить.

  Ответить  
 
 автор: sl1p   (25.05.2009 в 14:10)   письмо автору
2.6 Кб
 
   для: *m*   (24.05.2009 в 00:34)
 

прошу --->

  Ответить  
 
 автор: *m*   (25.05.2009 в 14:20)   письмо автору
 
   для: sl1p   (25.05.2009 в 14:10)
 

Оргромнейшее спасибо и респект!!!))))

  Ответить  
 
 автор: fire_f12   (18.05.2009 в 07:46)   письмо автору
 
   для: *m*   (17.05.2009 в 19:26)
 

вот очень простой способ это зделать менять можно все формы
http://www.emblematiq.com/projects/niceforms/

  Ответить  
 
 автор: *m*   (18.05.2009 в 12:24)   письмо автору
 
   для: fire_f12   (18.05.2009 в 07:46)
 

чесно говоря ничего не понятно в вашем линке.

  Ответить  
 
 автор: fire_f12   (18.05.2009 в 14:01)   письмо автору
 
   для: *m*   (18.05.2009 в 12:24)
 

Пройдите по ссылке, проект посвященный оформлению форм, интересная реализация.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования