Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как восстановить внешний вид input button?
Форумы портала PHP.SU » Клиентская разработка » HTML, Дизайн & CSS » Как восстановить внешний вид input button?

Страниц (1): [1]
 

1. LShark - 08 Марта, 2013 - 11:17:34 - перейти к сообщению
Переключатели с одного блока данных на другой сделаны в виде:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <input id="a1" type="button" val="блок 1">


Ради того, чтобы юзер видел, в каком блоке он находится в данный момент, пытался сделать вокруг активного элемента бордер (делается через jq):

CODE (htmlphp):
скопировать код в буфер обмена
  1. $("#a"+q).css("border","3px solid"); //q - естественно, переданный в скрипт номер активного пункта.


Но после этого возникает проблема - как только юзер уходит с в следующий блок, у текущего надо восстановить внешний вид кнопки.
Попытка:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $("#a"+q).css("border","0px");

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

Можно как то сбросить внешний вид инпут-баттона до его обычного вида, не уничтожая реальный элемент (подразумеваю, чтобы не удалять кнопку скриптом и создавать ее заново?)
(Добавление)
ЗЫ. Я имею ввиду - можно ли СБРОСИТЬ стили, чтобы браузер снова показывал "неизмененную" кнопку в своем стиле? А то писать стили еще и под кнопки, когда они вполне удовлетворяют в виде "по умолчанию" как то не хочется.
2. DeepVarvar - 08 Марта, 2013 - 11:47:30 - перейти к сообщению
Потому что нужно менять не явные стили у элементов, а добавлять/удалять соответствующий класс.
Это же Вам показывал ДельфинПРО в соседнем топике.
CODE (css):
скопировать код в буфер обмена
  1. input {
  2.   /*основное*/
  3. }
  4. input.bordered {
  5.   border: solid 3px #f00;
  6. }

LShark пишет:
$("#a"+q)

А я в том же соседнем топике показал как повесить событие (и не одно) внутри самого элемента, а не ориентироваться на конкатенацию его id или класса.

У вас прослеживается одна и та же проблема.
Давайте ка вы скинете кусок хтмл-разметки и опишете задачу, а мы тут вам поможем и покажем сделать красиво.
3. LShark - 08 Марта, 2013 - 12:31:18 - перейти к сообщению
Я сделаю страшнее.
Вот временная ссылка на результат.

Странное поведение одного из скриптов в гуглоботе (не показывает избыток выбранных вопросов), в Опере все работает. В эксплорере вроде все работает. А нет, вру, в Осле тоже не работает скрипт проверки количества выделенных вопросов.
4. LIME - 08 Марта, 2013 - 12:33:12 - перейти к сообщению
зря...менее юзабильно получилось
5. LShark - 08 Марта, 2013 - 12:59:07 - перейти к сообщению
Что именно?
6. LIME - 08 Марта, 2013 - 13:02:54 - перейти к сообщению
ну нет наглядности ...надо увидеть явно лишнюю кнопку
а кнопка внизу тогда зачем?
нет интуитивной понятности
первоначальная задумка получше была
7. LShark - 08 Марта, 2013 - 13:03:40 - перейти к сообщению
Если ты об анализе кода - то в исходнике-генераторе его немало, он завязан на цикличности и просто нумерует все. Чтобы никак не зависеть от количества заданных вопросов и прочего. К тому же в приведенном примере только 1 вариант вопросов, по умолчанию же будет использовано 4 разных типа, у всех свои особенности (например, с подвопросами и прочим), отчего приходится идти на эту порнографию.
(Добавление)
Нельзя забывать, что в одном вопросе может быть 5 вариантов ответов, а может быть и 40 (увы, такое тоже предусмотрено).

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

Юзабельность то проверена, работать программе придется не только среди знающих компьютер, но и среди людей, минимально понимающих (лет так за 50 и старше), так что пытался максимально упростить...

Можно и на этом остановиться, но как всегда, "хочется большего".

Да и мне (врачу) тоже не помешает подучиться программировать (а то что то забывать стал), как оно было в молодости (в 80-е прошлого века).
(Добавление)
И ЗЫ:

Подскажите, тогда, как мне в JQ сделать запрос CSS именно на

input.bordered {
border: solid 3px #f00;
}
, а не на

input {
border: solid 3px #f00;
}
Ведь запрашиваю то я ID всего инпута.
8. LIME - 08 Марта, 2013 - 13:47:04 - перейти к сообщению
я не очень понял но предположу что это:
CODE (javascript):
скопировать код в буфер обмена
  1. $('input').click(function(){
  2.     $('input.bordered').removeClass('bordered');
  3.     $(this).addClass('bordered');
  4. });

 

Powered by ExBB FM 1.0 RC1