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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как восстановить внешний вид input button?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
LShark
Отправлено: 08 Марта, 2013 - 11:17:34
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




Переключатели с одного блока данных на другой сделаны в виде:
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");

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

Можно как то сбросить внешний вид инпут-баттона до его обычного вида, не уничтожая реальный элемент (подразумеваю, чтобы не удалять кнопку скриптом и создавать ее заново?)
(Добавление)
ЗЫ. Я имею ввиду - можно ли СБРОСИТЬ стили, чтобы браузер снова показывал "неизмененную" кнопку в своем стиле? А то писать стили еще и под кнопки, когда они вполне удовлетворяют в виде "по умолчанию" как то не хочется.

(Отредактировано автором: 08 Марта, 2013 - 11:20:25)



-----
Истина прежде всего в том, что...
 
 Top
DeepVarvar Супермодератор
Отправлено: 08 Марта, 2013 - 11:47:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Потому что нужно менять не явные стили у элементов, а добавлять/удалять соответствующий класс.
Это же Вам показывал ДельфинПРО в соседнем топике.
CODE (css):
скопировать код в буфер обмена
  1. input {
  2.   /*основное*/
  3. }
  4. input.bordered {
  5.   border: solid 3px #f00;
  6. }

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

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

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



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




Я сделаю страшнее.
Вот временная ссылка на результат.

Странное поведение одного из скриптов в гуглоботе (не показывает избыток выбранных вопросов), в Опере все работает. В эксплорере вроде все работает. А нет, вру, в Осле тоже не работает скрипт проверки количества выделенных вопросов.

(Отредактировано автором: 08 Марта, 2013 - 18:08:46)



-----
Истина прежде всего в том, что...
 
 Top
LIME
Отправлено: 08 Марта, 2013 - 12:33:12
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




зря...менее юзабильно получилось
 
 Top
LShark
Отправлено: 08 Марта, 2013 - 12:59:07
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




Что именно?


-----
Истина прежде всего в том, что...
 
 Top
LIME
Отправлено: 08 Марта, 2013 - 13:02:54
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




ну нет наглядности ...надо увидеть явно лишнюю кнопку
а кнопка внизу тогда зачем?
нет интуитивной понятности
первоначальная задумка получше была
 
 Top
LShark
Отправлено: 08 Марта, 2013 - 13:03:40
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




Если ты об анализе кода - то в исходнике-генераторе его немало, он завязан на цикличности и просто нумерует все. Чтобы никак не зависеть от количества заданных вопросов и прочего. К тому же в приведенном примере только 1 вариант вопросов, по умолчанию же будет использовано 4 разных типа, у всех свои особенности (например, с подвопросами и прочим), отчего приходится идти на эту порнографию.
(Добавление)
Нельзя забывать, что в одном вопросе может быть 5 вариантов ответов, а может быть и 40 (увы, такое тоже предусмотрено).

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

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

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

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

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

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

input {
border: solid 3px #f00;
}
Ведь запрашиваю то я ID всего инпута.


-----
Истина прежде всего в том, что...
 
 Top
LIME
Отправлено: 08 Марта, 2013 - 13:47:04
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




я не очень понял но предположу что это:
CODE (javascript):
скопировать код в буфер обмена
  1. $('input').click(function(){
  2.     $('input.bordered').removeClass('bordered');
  3.     $(this).addClass('bordered');
  4. });

(Отредактировано автором: 08 Марта, 2013 - 14:01:45)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTML, Дизайн & CSS »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB