Я учусь тому, как начать карьеру веб-разработчика, и до сих пор создаю веб-сайт-портфолио, одновременно узнавая что-то новое каждый день.
Я создаю портфолио с 5 основными элементами DIV, расположенными в виде смещенной сетки, и использую JS, чтобы элемент div при наведении курсора мыши казался больше, а другие элементы div «отходили в сторону», чтобы элемент управления курсором мыши увеличивался (i я не использую transform = Scale()). Каждый элемент div растет по-своему, другие соответственно перемещаются, и все возвращается к исходному масштабу и положению при отпускании мыши. Страница выглядит, как показано ниже; Макет сайта
Проблема в том, что я установил значение свойства перехода на transition: .5s easy-in-out; для всех элементов div быстрое перемещение курсора мыши по разным боковым элементам, по-видимому, влияет на переход #about Div. Он довольно сильно отстает. Я новичок в веб-разработке, поэтому мой код не самый лучший с точки зрения читабельности, я еще не овладел этим навыком, поэтому заранее извиняюсь. Соответствующий код HTML, CSS и JS ниже
html
Образование Навыки Контакт О программе История трудоустройства css
const education = document.querySelector('#education'); const навыки = document.querySelector('#skills'); const contact = document.querySelector('#contact'); const about = document.querySelector('#about'); const work = document.querySelector('#work'); education.addEventListener('mouseover', function(e){ education.classList.add('growEduWork'); навыки.classList.add('SkillContOnMouseOverEduWork'); work.classList.add('EduWorkOnMouseOverEduWork'); about.classList.add('aboutWhenMouseOverEdu'); contact.classList.add('skillContOnMouseOverEduWork2') }) education.addEventListener('mouseleave', function(e){ education.classList.remove('growEduWork'); навыки.classList.remove('SkillContOnMouseOverEduWork'); work.classList.remove('EduWorkOnMouseOverEduWork'); about.classList.remove('aboutWhenMouseOverEdu'); contact.classList.remove('skillContOnMouseOverEduWork2') }) about.addEventListener('mouseover', function(e){ about.classList.add('growAbout'); навыки.classList.add('SkillContOnMouseOverAbout'); education.classList.add('eduWorkOnMouseOverAbout'); contact.classList.add('SkillContOnMouseOverAbout'); work.classList.add('eduWorkOnMouseOverAbout'); }); about.addEventListener('mouseleave', function(e){ about.classList.remove('growAbout'); навыки.classList.remove('SkillContOnMouseOverAbout'); education.classList.remove('eduWorkOnMouseOverAbout'); contact.classList.remove('SkillContOnMouseOverAbout'); work.classList.remove('eduWorkOnMouseOverAbout'); }) work.addEventListener('mouseover', function(e){ work.classList.add('growEduWork') education.classList.add('EduWorkOnMouseOverEduWork'); about.classList.add('aboutOnMouseOverWork'); contact.classList.add('SkillContOnMouseOverEduWork'); навыки.classList.add('skillContOnMouseOverEduWork2'); }); work.addEventListener('mouseleave', function(e){ work.classList.remove('growEduWork') education.classList.remove('EduWorkOnMouseOverEduWork'); about.classList.remove('aboutOnMouseOverWork'); contact.classList.remove('SkillContOnMouseOverEduWork'); навыки.classList.remove('skillContOnMouseOverEduWork2'); }); навыки.addEventListener('mouseover', function(e){ навыки.classList.add('growSkillCont'); work.classList.add('eduWorkOnMouseOverSkillCont1'); education.classList.add('eduWorkOnMouseOverSkillCont2'); about.classList.add('aboutOnMouseOverSkill'); contact.classList.add('skillContOnMouseOverSkillCont'); }); навыки.addEventListener('mouseleave', function(e){ навыки.classList.remove('growSkillCont'); work.classList.remove('eduWorkOnMouseOverSkillCont1'); education.classList.remove('eduWorkOnMouseOverSkillCont2'); about.classList.remove('aboutOnMouseOverSkill'); contact.classList.remove('skillContOnMouseOverSkillCont'); }); contact.addEventListener('mouseover', function(e){ contact.classList.add('growSkillCont'); education.classList.add('eduWorkOnMouseOverSkillCont1'); work.classList.add('eduWorkOnMouseOverSkillCont2'); about.classList.add('aboutOnMouseOverCont'); навыки.classList.add('skillContOnMouseOverSkillCont'); }); contact.addEventListener('mouseleave', function(e){ contact.classList.remove('growSkillCont'); education.classList.remove('eduWorkOnMouseOverSkillCont1'); work.classList.remove('eduWorkOnMouseOverSkillCont2'); about.classList.remove('aboutOnMouseOverCont'); навыки.classList.remove('skillContOnMouseOverSkillCont'); }); Я пробовал увеличивать и уменьшать время перехода, проблема не возникает только тогда, когда переход вообще не используется, что выглядит не очень хорошо. Недостаточно опыта, чтобы узнать, где еще исследовать, хотя единственный затронутый div - это центральный div, положение которого меняется по отношению к различным прослушивателям событий, поэтому подозреваю, что проблемы кроются в центральном div #about.
Я учусь тому, как начать карьеру веб-разработчика, и до сих пор создаю веб-сайт-портфолио, одновременно узнавая что-то новое каждый день.
Я создаю портфолио с 5 основными элементами DIV, расположенными в виде смещенной сетки, и использую JS, чтобы элемент div при наведении курсора мыши казался больше, а другие элементы div «отходили в сторону», чтобы элемент управления курсором мыши увеличивался (i я не использую transform = Scale()). Каждый элемент div растет по-своему, другие соответственно перемещаются, и все возвращается к исходному масштабу и положению при отпускании мыши. Страница выглядит, как показано ниже; Макет сайта
Проблема в том, что я установил значение свойства перехода на transition: .5s easy-in-out; для всех элементов div быстрое перемещение курсора мыши по разным боковым элементам, по-видимому, влияет на переход #about Div. Он довольно сильно отстает. Я новичок в веб-разработке, поэтому мой код не самый лучший с точки зрения читабельности, я еще не овладел этим навыком, поэтому заранее извиняюсь. Соответствующий код HTML, CSS и JS ниже
[b]html[/b]
Образование Навыки Контакт О программе История трудоустройства [b]css[/b]
const education = document.querySelector('#education'); const навыки = document.querySelector('#skills'); const contact = document.querySelector('#contact'); const about = document.querySelector('#about'); const work = document.querySelector('#work'); education.addEventListener('mouseover', function(e){ education.classList.add('growEduWork'); навыки.classList.add('SkillContOnMouseOverEduWork'); work.classList.add('EduWorkOnMouseOverEduWork'); about.classList.add('aboutWhenMouseOverEdu'); contact.classList.add('skillContOnMouseOverEduWork2') }) education.addEventListener('mouseleave', function(e){ education.classList.remove('growEduWork'); навыки.classList.remove('SkillContOnMouseOverEduWork'); work.classList.remove('EduWorkOnMouseOverEduWork'); about.classList.remove('aboutWhenMouseOverEdu'); contact.classList.remove('skillContOnMouseOverEduWork2') }) about.addEventListener('mouseover', function(e){ about.classList.add('growAbout'); навыки.classList.add('SkillContOnMouseOverAbout'); education.classList.add('eduWorkOnMouseOverAbout'); contact.classList.add('SkillContOnMouseOverAbout'); work.classList.add('eduWorkOnMouseOverAbout'); }); about.addEventListener('mouseleave', function(e){ about.classList.remove('growAbout'); навыки.classList.remove('SkillContOnMouseOverAbout'); education.classList.remove('eduWorkOnMouseOverAbout'); contact.classList.remove('SkillContOnMouseOverAbout'); work.classList.remove('eduWorkOnMouseOverAbout'); }) work.addEventListener('mouseover', function(e){ work.classList.add('growEduWork') education.classList.add('EduWorkOnMouseOverEduWork'); about.classList.add('aboutOnMouseOverWork'); contact.classList.add('SkillContOnMouseOverEduWork'); навыки.classList.add('skillContOnMouseOverEduWork2'); }); work.addEventListener('mouseleave', function(e){ work.classList.remove('growEduWork') education.classList.remove('EduWorkOnMouseOverEduWork'); about.classList.remove('aboutOnMouseOverWork'); contact.classList.remove('SkillContOnMouseOverEduWork'); навыки.classList.remove('skillContOnMouseOverEduWork2'); }); навыки.addEventListener('mouseover', function(e){ навыки.classList.add('growSkillCont'); work.classList.add('eduWorkOnMouseOverSkillCont1'); education.classList.add('eduWorkOnMouseOverSkillCont2'); about.classList.add('aboutOnMouseOverSkill'); contact.classList.add('skillContOnMouseOverSkillCont'); }); навыки.addEventListener('mouseleave', function(e){ навыки.classList.remove('growSkillCont'); work.classList.remove('eduWorkOnMouseOverSkillCont1'); education.classList.remove('eduWorkOnMouseOverSkillCont2'); about.classList.remove('aboutOnMouseOverSkill'); contact.classList.remove('skillContOnMouseOverSkillCont'); }); contact.addEventListener('mouseover', function(e){ contact.classList.add('growSkillCont'); education.classList.add('eduWorkOnMouseOverSkillCont1'); work.classList.add('eduWorkOnMouseOverSkillCont2'); about.classList.add('aboutOnMouseOverCont'); навыки.classList.add('skillContOnMouseOverSkillCont'); }); contact.addEventListener('mouseleave', function(e){ contact.classList.remove('growSkillCont'); education.classList.remove('eduWorkOnMouseOverSkillCont1'); work.classList.remove('eduWorkOnMouseOverSkillCont2'); about.classList.remove('aboutOnMouseOverCont'); навыки.classList.remove('skillContOnMouseOverSkillCont'); }); Я пробовал увеличивать и уменьшать время перехода, проблема не возникает только тогда, когда переход вообще не используется, что выглядит не очень хорошо. Недостаточно опыта, чтобы узнать, где еще исследовать, хотя единственный затронутый div - это центральный div, положение которого меняется по отношению к различным прослушивателям событий, поэтому подозреваю, что проблемы кроются в центральном div #about.