Тема: Custom select
Показать сообщение отдельно
  #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
Ответить с цитированием