Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.06.2014, 19:39
Новичок на форуме
Отправить личное сообщение для evan Посмотреть профиль Найти все сообщения от evan
 
Регистрация: 18.06.2014
Сообщений: 4

Custom select
Написал плагин кастомизации select. При клике по селекту меняется стрелка (вверх - вниз) Он работает, но только в chrome. В FF при снятии фокуса нужно отщелкнуться 2 раза, вместо одного. Если ето знает в чем ошибка, подскажите пожалуйста.
Привожу код и ссылку http://store2.a78.org/resize

var indexClick, selectors, setNull, totalSelects;
    var previous;
    selectors = $('select');
    totalSelects = selectors.length;
    indexClick = [];
    setNull = function() {
      var j;
      j = 0;
      while (j < totalSelects) {
        indexClick[j] = 0;
        j++;
      }
    };
    setNull();
    selectors.blur(function(e) {
    	var  select, span, target, targetIndex;
    	select = $(e.target);
    	target = select.parent();
     	targetIndex = target.index();
      	span = select.siblings('span');
    	indexClick[targetIndex] = 0;
        span.css({
          background: "url('img/select.png') no-repeat 95%, url('img/select-fon.jpg')"
        });
    	})
    selectors.click(function(e) {
    	e.stopPropagation();
      var k, select, span, target, targetIndex, title;
      select = $(e.target);
      target = select.parent();
      targetIndex = target.index();
      span = select.siblings('span');
      $(select).change(function(){
      	title = $('option:selected', select).val();
      	span.text(title);
      })
      
      if (indexClick[targetIndex] === 0) {
      	
        indexClick[targetIndex] = 1;
        previous = select;
        span.css({
          background: "url('img/select-up.png') no-repeat 95%, url('img/select-fon.jpg')"
        });
      } else {
        indexClick[targetIndex] = 0;
        span.css({
          background: "url('img/select.png') no-repeat 95%, url('img/select-fon.jpg')"
        });
      }
     	
    });

Последний раз редактировалось evan, 20.06.2014 в 10:40. Причина: оформил code
Ответить с цитированием
  #2 (permalink)  
Старый 18.06.2014, 20:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

evan,
не многовато функций навесится при каждом клике -- строка 35
Ответить с цитированием
  #3 (permalink)  
Старый 18.06.2014, 20:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

evan,
когда условие в строке 30 будет false ?
Ответить с цитированием
  #4 (permalink)  
Старый 20.06.2014, 10:40
Новичок на форуме
Отправить личное сообщение для evan Посмотреть профиль Найти все сообщения от evan
 
Регистрация: 18.06.2014
Сообщений: 4

Цитата:
не многовато функций навесится при каждом клике -- строка 35
А как вы прочтете выбранное значение option?
Ответить с цитированием
  #5 (permalink)  
Старый 20.06.2014, 10:42
Новичок на форуме
Отправить личное сообщение для evan Посмотреть профиль Найти все сообщения от evan
 
Регистрация: 18.06.2014
Сообщений: 4

Сообщение от рони Посмотреть сообщение
evan,
когда условие в строке 30 будет false ?
После условмя следовало вывод в консоль. Это было тестовая проверка. Я убрал его
Ответить с цитированием
  #6 (permalink)  
Старый 20.06.2014, 11:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Сообщение от evan
А как вы прочтете выбранное значение option?
навесить change отдельно от click

можно узнать секрет как вы перекроите спаном селект в ie при выборе значений?
Ответить с цитированием
  #7 (permalink)  
Старый 20.06.2014, 11:43
Новичок на форуме
Отправить личное сообщение для evan Посмотреть профиль Найти все сообщения от evan
 
Регистрация: 18.06.2014
Сообщений: 4

Цитата:
навесить change отдельно от click
Спасибо за совет
Ответить с цитированием
  #8 (permalink)  
Старый 20.06.2014, 11:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

evan,
и неплохобы спан сам подбирал себе ширину согласно ширине селекта под которым находится
это так мысли вслух
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Select, optionl, и автоматический выбор Rorbi Элементы интерфейса 2 29.05.2014 15:38
SQL запрос. Как делать SELECT с условием SELECT Duda.Ml1986@gmail.com Серверные языки и технологии 16 13.01.2014 16:09
Метод для конвертирования едениц px, em, %, pt. jegit Элементы интерфейса 0 07.03.2013 16:15
Как сохранить предыдущее значение select? MaxD Общие вопросы Javascript 3 21.07.2011 12:36
Проблема с динамическим формированием select elepsion jQuery 1 31.10.2010 14:31