умному способу создания уникального случайного числа

Я хочу сгенерировать последовательность уникальных случайных чисел в диапазоне от 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 Однако все это, кажется, работает, это Немного сбит с толку, когда вы очень быстро перемещаете мышь, теперь я спрашиваю , в чем проблема (которая вызывает сбои) и как ее можно исправить с помощью моего текущего кода.

Заранее спасибо

10
задан 2 September 2010 в 12:25
поделиться