Вход

Просмотр полной версии : Custom select


evan
18.06.2014, 19:39
Написал плагин кастомизации 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')"
});
}

});

рони
18.06.2014, 20:15
evan,
не многовато функций навесится при каждом клике -- строка 35

рони
18.06.2014, 20:22
evan,
когда условие в строке 30 будет false ?

evan
20.06.2014, 10:40
не многовато функций навесится при каждом клике -- строка 35
А как вы прочтете выбранное значение option?

evan
20.06.2014, 10:42
evan,
когда условие в строке 30 будет false ?После условмя следовало вывод в консоль. Это было тестовая проверка. Я убрал его

рони
20.06.2014, 11:27
А как вы прочтете выбранное значение option?
навесить change отдельно от click

можно узнать секрет как вы перекроите спаном селект в ie при выборе значений?

evan
20.06.2014, 11:43
навесить change отдельно от click
Спасибо за совет

рони
20.06.2014, 11:46
evan,
и неплохобы спан сам подбирал себе ширину согласно ширине селекта под которым находится
это так мысли вслух