$('body').on('mousemove', '.blockElem', function(e) {
var x = e.offsetX==undefined?e.layerX:e.offsetX;
if(x >= 1 && x < 20) {
$('.elem1').html('✯');
$('.elem2').html('✫');
$('.elem3').html('✫');
$('.elem4').html('✫');
$('.elem5').html('✫');
var result = 1;
}
if(x >= 21 && x < 40) {
$('.elem1').html('✯');
$('.elem2').html('✯');
$('.elem3').html('✫');
$('.elem4').html('✫');
$('.elem5').html('✫');
var result = 2;
}
if(x >= 41 && x < 60) {
$('.elem1').html('✯');
$('.elem2').html('✯');
$('.elem3').html('✯');
$('.elem4').html('✫');
$('.elem5').html('✫');
var result = 3;
}
if(x >= 61 && x < 80) {
$('.elem1').html('✯');
$('.elem2').html('✯');
$('.elem3').html('✯');
$('.elem4').html('✯');
$('.elem5').html('✫');
var result = 4;
}
if(x >= 81 && x < 100) {
$('.elem1').html('✯');
$('.elem2').html('✯');
$('.elem3').html('✯');
$('.elem4').html('✯');
$('.elem5').html('✯');
var result = 5;
}
$('.result').html(result);});$('body').on('mouseleave', '.blockElem', function() {
$('.result').html('OUT');});
https://jsfiddle.net/yfp09xt2/ - Набросал рейтинг с html символами
https://test.xn--80akhmlofgv.net/new_Real_Estate/test - с шрифтом "Fontello"
При использовании "Fontello" mouseleave не срабатывает. Помогите разобраться.
Звездочки закрывают общий блок от нормального события mouseleave. Поскольку вы их все равно не используйте (их события), просто отключите их от взаимодействия с мышью:
.starRating span {
pointer-events: none;
}
меняйте class а не html
$(document).ready(function() {
$('body').on('mousemove', '#starRating', function(e) {
var x = e.offsetX == undefined ? e.layerX : e.offsetX;
var dataOldRating = $('#starRating').data('oldRating');
if (dataOldRating === 'no') {
var oldRating = $('#starRating').html();
$('#starRating').data('oldRating', oldRating);
}
var rating = 0;
if (x >= 1 && x < 11) {
$('.starRating1 i').attr('class', "icon-star-half-alt");
$('.starRating2 i').attr('class', "icon-star-empty-1");
$('.starRating3 i').attr('class', "icon-star-empty-1");
$('.starRating4 i').attr('class', "icon-star-empty-1");
$('.starRating5 i').attr('class', "icon-star-empty-1");
rating = 0.5;
}
if (x >= 11 && x < 23) {
$('.starRating1 i').attr('class', "icon-star-3");
$('.starRating2 i').attr('class', "icon-star-empty-1");
$('.starRating3 i').attr('class', "icon-star-empty-1");
$('.starRating4 i').attr('class', "icon-star-empty-1");
$('.starRating5 i').attr('class', "icon-star-empty-1");
rating = 1;
}
if (x >= 23 && x < 34) {
$('.starRating1 i').attr('class', "icon-star-3");
$('.starRating2 i').attr('class', "icon-star-half-alt");
$('.starRating3 i').attr('class', "icon-star-empty-1");
$('.starRating4 i').attr('class', "icon-star-empty-1");
$('.starRating5 i').attr('class', "icon-star-empty-1");
rating = 1.5;
}
if (x >= 34 && x < 45) {
$('.starRating1 i').attr('class', "icon-star-3");
$('.starRating2 i').attr('class', "icon-star-3");
$('.starRating3 i').attr('class', "icon-star-empty-1");
$('.starRating4 i').attr('class', "icon-star-empty-1");
$('.starRating5 i').attr('class', "icon-star-empty-1");
rating = 2;
}
if (x >= 45 && x < 56) {
$('.starRating1 i').attr('class', "icon-star-3");
$('.starRating2 i').attr('class', "icon-star-3");
$('.starRating3 i').attr('class', "icon-star-half-alt");
$('.starRating4 i').attr('class', "icon-star-empty-1");
$('.starRating5 i').attr('class', "icon-star-empty-1");
rating = 2.5;
}
if (x >= 56 && x < 67) {
$('.starRating1 i').attr('class', "icon-star-3");
$('.starRating2 i').attr('class', "icon-star-3");
$('.starRating3 i').attr('class', "icon-star-3");
$('.starRating4 i').attr('class', "icon-star-empty-1");
$('.starRating5 i').attr('class', "icon-star-empty-1");
rating = 3;
}
if (x >= 67 && x < 78) {
$('.starRating1 i').attr('class', "icon-star-3");
$('.starRating2 i').attr('class', "icon-star-3");
$('.starRating3 i').attr('class', "icon-star-3");
$('.starRating4 i').attr('class', "icon-star-half-alt");
$('.starRating5 i').attr('class', "icon-star-empty-1");
rating = 3.5;
}
if (x >= 78 && x < 89) {
$('.starRating1 i').attr('class', "icon-star-3");
$('.starRating2 i').attr('class', "icon-star-3");
$('.starRating3 i').attr('class', "icon-star-3");
$('.starRating4 i').attr('class', "icon-star-3");
$('.starRating5 i').attr('class', "icon-star-empty-1");
rating = 4;
}
if (x >= 89 && x < 100) {
$('.starRating1 i').attr('class', "icon-star-3");
$('.starRating2 i').attr('class', "icon-star-3");
$('.starRating3 i').attr('class', "icon-star-3");
$('.starRating4 i').attr('class', "icon-star-3");
$('.starRating5 i').attr('class', "icon-star-half-alt");
rating = 4.5;
}
if (x >= 100 && x <= 112) {
$('.starRating1 i').attr('class', "icon-star-3");
$('.starRating2 i').attr('class', "icon-star-3");
$('.starRating3 i').attr('class', "icon-star-3");
$('.starRating4 i').attr('class', "icon-star-3");
$('.starRating5 i').attr('class', "icon-star-3");
rating = 5;
}
$('#ColRating').html(rating);
});
$('body').on('mouseleave', '#starRating', function(e) {
//var oldRating = $('#starRating').data('oldRating');
//$('#starRating').html(oldRating);
$('#ColRating').html("OUT");
});
});
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости