2015-08-06 1 views
0

Im новое для JavaScript и еще не знаю, как это сделать. Любая помощь будет большой.Изменение фамилий на цифры, которые связывают и отображают изображения

Я создаю генератор псевдослучайных изображений, состоящий из 3 изображений. Они будут выбраны по их имени и отображены. Живое обновление было бы лучшим.

Я бы хотел, чтобы пользователь вводил свою фамилию (в поле), которая будет изменена на индивидуальный набор из 3 чисел. Из этих чисел я хотел бы, чтобы изображения были выбраны, первый из первого и т. Д., Затем отображали их по вертикали соответственно.

Любой вход приветствуется, я уверен, что есть более простой способ сделать это. Спасибо за ваше время.

Редактировать: Я бы хотел изменить фамилию, в которой пользователь вводит 3-значное число (000-999), а затем отображать 3 изображения на основе приведенных чисел. Если сделанный номер 015, то первое отображаемое изображение будет 000.jpg, второе 010.jpg, а третье будет 005.jpg. Идентификатор, похожий на тот же результат, каждый раз, когда вводится имя, и я хотел бы обновить его в реальном времени, если это возможно. Надеюсь, это поможет мне разобраться, я все еще пытаюсь найти лучший способ. Спасибо

+1

Не знаете, что вы просите. Пожалуйста, попробуйте объяснить это лучше и добавьте код, который вы уже пробовали (или, по крайней мере, как вы бы это сделали) –

+0

Я хотел бы изменить фамилию, которую пользователь вводит в 3-значное число (000-999), затем отобразите 3 изображения на основе цифр. Если сделанный номер 015, то первое отображаемое изображение будет 000.jpg, второе 010.jpg, а третье будет 005.jpg. Идентификатор, похожий на тот же результат, каждый раз, когда вводится имя, и я хотел бы обновить его в реальном времени, если это возможно. Надеюсь, это поможет мне разобраться, я все еще пытаюсь найти лучший способ. Спасибо –

+1

Вам нужна хеширующая функция, которая берет вашу строку (фамилию) и хеширует ее чем-то вроде 9-значного числа и разбивает на 3 3-значных числа. –

ответ

2

Вы можете использовать таблицу ASCII, чтобы получить соответствие номера буквой.

Затем вы можете перебирать каждый символ фамилии и суммировать его. В конце вы можете использовать% (по модулю) суммы, чтобы получить значение меньше 1.000.

Испытуемый код будет:

var lastName = "Connor"; 
var sum = 0; 
for(var i=0; i<lastName.length;i++) 
{ 
    sum += lastName[i].charCodeAt(0); 
} 

sum = (sum%1000); 

В вашем случае, результат будет: 623

Затем, вы можете получить файлы: 600.jpg, 020.jpg и 003.jpg

var firstPic = (sum + "").split('')[0] + "00.jpg"; 
var secondPic = "0" + (sum + "").split('')[1] + "0.jpg"; 
var thirdPic = "00" + (sum + "").split('')[2] + ".jpg"; 
+2

'sum + = lastName.charCodeAt (i)' будет работать тоже. –

+0

Это большое спасибо. Как получить изображения из var? –

+1

var imgToAdd = document.createElement ("img"); imgToAdd.src = firstPic; document.appendChild (imgToAdd); –