• Как перегнать jQuery в Javascript?

    Seasle
    @Seasle Куратор тега JavaScript
    You might not need jQuery
    Как-то так

    const wrappers = document.querySelectorAll('.how_it_works');
    const svgLine = document.querySelector('#svg-line');
    const line12 = svgLine.querySelector('.line-1-2');
    const line23 = svgLine.querySelector('.line-2-3');
    const line34 = svgLine.querySelector('.line-3-4');
    const line45 = svgLine.querySelector('.line-4-5');
    
    const setAttributes = (element, attrs) => {
    	for (const attr in attrs) {
    		element.setAttribute(attr, attrs[attr]);
    	}
    };
    
    const line = (wrapper) => {
    	const wrapperBox = wrapper.getBoundingClientRect();
    	const items = wrapper.querySelectorAll('.block_line .item');
    	const points = [];
    
    	for (const item of items) {
    		const element = item.querySelector('.num');
    		const box = element.getBoundingClientRect();
    
    		points.push({
    			x: box.left + box.width / 2 - wrapperBox.left,
    			y: box.top + box.height / 2 - wrapperBox.top
    		});
    	}
    
    	svgLine.style.setProperty('top', 0);
    	svgLine.style.setProperty('left', 0);
    
    	setAttributes(line12, {
    		x1: points[0].x,
    		y1: points[0].y,
    		x2: points[1].x,
    		y2: points[1].y
    	});
    	setAttributes(line12, {
    		x1: points[1].x,
    		y1: points[1].y,
    		x2: points[2].x,
    		y2: points[2].y
    	});
    	setAttributes(line12, {
    		x1: points[2].x,
    		y1: points[2].y,
    		x2: points[3].x,
    		y2: points[3].y
    	});
    	setAttributes(line12, {
    		x1: points[3].x,
    		y1: points[3].y,
    		x2: points[4].x,
    		y2: points[4].y
    	});
    };
    
    const start = () => {
    	for (const wrapper of wrappers) {
    		line(wrapper);
    	}
    };
    
    start();
    
    window.addEventListener('resize', start);

    Ответ написан
    8 комментариев
  • Что нужно сделать чтобы в случае ввода буквы и цифры (например 12a), мне не выводило сумму?

    Основано на https://stackoverflow.com/questions/175739/built-i...
    let num = prompt('Введите трехзначное число');
    var sum = 0;
    if(isNaN(num))  
       alert('Ввыдите только числа');
    else{
        for ( let i = 0; i < num.length; i++)
            sum +=parseInt(num[i]);
        alert(sum);
    }
    Ответ написан
    Комментировать
  • Как сделать такую анимацию?

    Комментировать
  • Как правильно оценивать работу на верстку?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Как правильно оценивать работу на верстку?

    максимальная цифра за которую вы еще можете получать заказы.
    Если вам за 15к заказы дают а за 20к - не дают значит ваша оценка - 15к.
    Если вам за 15к дают, за 20к дают, за 60к дают, а за 65к уже нет - ваша оценка - 60к.

    Если у вас потолок 15к и он вас не устраивает то надо искать и пробовать, что сделать чтобы стоить больше. И это не только умение верстать - как вы ищете заказчиков, какая область, как общаетесь, как ведете проект, как фильтруете хороших от плохих, и много чего еще имеет большое значение.

    Для начала - выясните эту свою цифру. А то может зря вы там в депрессии сидите, надо просто цену поднять.
    Ответ написан
    Комментировать