Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var randomInteger = function (min, max) {
- return (Math.floor(min + Math.random() * (max + 1 - min)));
- };
- var randomElementArray = function (arr) {
- return arr[randomInteger(0, arr.length - 1)];
- };
- var generationSimilarAds = function (count) {
- var PRICE_MIN = 1000;
- var PRICE_MAX = 1000000;
- var ROOM_MIN = 1;
- var ROOM_MAX = 5;
- var QUESTS_MIN = 0;
- var QUESTS_MAX = 10;
- var pinLocation = {
- x: {
- min: 300,
- max: 900
- },
- y: {
- min: 100,
- max: 500
- }
- };
- var TITLES = [
- 'Большая уютная квартира',
- 'Маленькая неуютная квартира',
- 'Огромный прекрасный дворец',
- 'Маленький ужасный дворец',
- 'Красивый гостевой домик',
- 'Некрасивый негостеприимный домик',
- 'Уютное бунгало далеко от моря',
- 'Неуютное бунгало по колено в воде'
- ];
- var TIMES = [
- '12:00',
- '13:00',
- '14:00'
- ];
- var TYPES = [
- 'flat',
- 'house',
- 'bungalow'
- ];
- var FEATURES = [
- 'wifi',
- 'dishwasher',
- 'parking',
- 'washer',
- 'elevator',
- 'conditioner'
- ];
- var similarAds = [];
- for (var i = 0; i < count; i++) {
- var similarAd = {
- author: {
- avatar: 'img/avatars/user0' + (i + 1) + '.png'
- },
- offer: {
- title: TITLES[i],
- address: this.location.x + ' ' + this.location.y,
- price: randomInteger(PRICE_MIN, PRICE_MAX),
- type: randomElementArray(TYPES),
- rooms: randomInteger(ROOM_MIN, ROOM_MAX),
- guests: randomInteger(QUESTS_MIN, QUESTS_MAX),
- checkin: randomElementArray(TIMES),
- checkout: randomElementArray(TIMES),
- features: FEATURES,
- description: '',
- photos: []
- },
- location: {
- x: randomInteger(pinLocation.x.min, pinLocation.x.max),
- y: randomInteger(pinLocation.y.min, pinLocation.y.max)
- }
- };
- similarAds.push(similarAd);
- }
- return similarAds;
- };
- var createDOMElementPin = function (ind) {
- var pin = document.createElement('div');
- var image = document.createElement('img');
- var data = similarAds[ind];
- var pinPosition = {
- x: (data.location.x + (56 * 0.5)),
- y: (data.location.y + 75)
- };
- pin.classList.add('pin');
- pin.style.left = pinPosition.x + 'px';
- pin.style.top = pinPosition.y + 'px';
- image.src = data.author.avatar;
- image.classList.add('rounded');
- image.style.width = 40 + 'px';
- image.style.height = 40 + 'px';
- pin.appendChild(image);
- return pin;
- };
- var addPinsPage = function () {
- var fragment = document.createDocumentFragment();
- var root = document.body.querySelector('.tokyo__pin-map');
- for (var i = 0; i < similarAds.length; i++) {
- fragment.appendChild(createDOMElementPin(i));
- }
- root.appendChild(fragment);
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement