Я хочу сгенерировать последовательность уникальных случайных чисел в диапазоне от 00000001 до 99999999.
Таким образом, первым может быть 00001010, вторым 40002928 и т. д.
Самый простой способ - сгенерировать случайное число и сохранить его в базе данных, а каждый раз делать это снова и регистрироваться. базу данных, если номер уже существует, и если да, сгенерировать новый, Но это выглядит не так, я могу восстановить число, может быть, 100 раз, если количество сгенерированных предметов становится большим.
Есть ли более умный способ?
РЕДАКТИРОВАТЬ как всегда я забыл сказать, ПОЧЕМУ я хотел этого, и это, вероятно, прояснит ситуацию и, возможно, найдет альтернативу, и это: И наоборот, когда ваша мышь покидает изображение (исчезает + уходит)
Я подготовил для этого тестовую страницу . Давайте проверим это, оно прояснит, что это за эффект.
Я определил структуру HTML для этого:
и следующий JS (я использую jQuery):
jQuery(document).ready(function () {
ourWork();
});
function ourWork(){
var inHandler = function(){
var blue_bg = jQuery(this).find('.overlayLink_overlay_bg');
var divClass = inClass;
blue_bg.stop(true,true).fadeIn();
var ml,mt;
if(divClass == 'left'){
ml = -260;
mt = 0;
}
else if(divClass == 'right'){
ml = 260;
mt = 0;
}
else if(divClass == 'top'){
ml = 0;
mt = -140;
}
else if(divClass == 'bottom'){
ml = 0;
mt = 140;
}
//positioning
jQuery(this).find('a').css({
'marginLeft': ml + 'px',
'marginTop' : mt + 'px'
});
//animation
jQuery(this).find('a').stop(true,true).animate({
"marginLeft": "0px",
"marginTop": "0px"
}, "slow");
}
var outHandler = function(){
var blue_bg = jQuery(this).find('.overlayLink_overlay_bg');
var divClass = outClass;
blue_bg.stop(true,true).fadeOut();
var ml,mt;
if(divClass == 'left'){
ml = -260;
mt = 0;
}
else if(divClass == 'right'){
ml = 260;
mt = 0;
}
else if(divClass == 'top'){
ml = 0;
mt = -140;
}
else if(divClass == 'bottom'){
ml = 0;
mt = 140;
}
//animation
jQuery(this).find('a').stop(true,true).animate({
"marginLeft": ml + "px",
"marginTop": mt + "px"
}, "slow");
}
var inClass, outClass;
jQuery('.overlayLink_overlay_fg div').hover(function(){
inClass = jQuery(this).attr('class');
},function(){
outClass = jQuery(this).attr('class');
});
jQuery('.overlayLink').mouseenter(inHandler).mouseleave(outHandler);
}
объяснение:
В основном у меня есть четыре абсолютно позиционированных div-элемента в верхней части изображения, чтобы узнать направление (слева, сверху, снизу, справа), когда я наведите курсор на один из этих 4-х div (.overlayLink_overlay_fg div). Я поместил имя класса в hovered div в переменная (var inClass и var outclass)
После наведения курсора на элемент div, который покрывает область изображения (.overlayLink), я запрашиваю направление у переменной inClass или outClass и выполняю анимацию (inHandler, outHandler) [12155 Однако все это, кажется, работает, это Немного сбит с толку, когда вы очень быстро перемещаете мышь, теперь я спрашиваю , в чем проблема (которая вызывает сбои) и как ее можно исправить с помощью моего текущего кода.
Заранее спасибо