В этой статье узнаете оригинальный эффект взрывной кнопки, что происходит при клике ней. Где мы изначально видим кнопку и не чего не подозреваем, так как они по дизайн выглядит стандартно. Также она может быть под функцией, это скачать или перейти на другую страницу, вообщем выполнять все функций, для чего предназначена.
Но сам эффект здесь оригинальный, который заключается в самом взрыве и по началу исчезновение кнопки с последующем появлением. Что все происходит в считанные секунды, и здесь не нужно не чего ожидать, а просто сильно удивите того, кто решил нажать на эту кнопку.
if (!this.element.classList.contains(explodingState)) { this.element.classList.add(explodingState);
this.createParticles("fire",25,duration); this.createParticles("debris",this.piecesX * this.piecesY,duration); } } createParticles(kind,count,duration) { for (let c = 0; c < count; ++c) { let r = randomFloat(0.25,0.5), diam = r * 2, xBound = this.centerX - r, yBound = this.centerY - r, easing = "cubic-bezier(0.15,0.5,0.5,0.85)";
if (kind == "fire") { let x = this.centerX + randomFloat(-xBound,xBound), y = this.centerY + randomFloat(-yBound,yBound), a = calcAngle(this.centerX,this.centerY,x,y), dist = randomFloat(1,5);
new FireParticle(this.element,x,y,diam,diam,a,dist,duration,easing);
} else if (kind == "debris") { let x = (this.pieceWidth / 2) + this.pieceWidth * (c % this.piecesX), y = (this.pieceHeight / 2) + this.pieceHeight * Math.floor(c / this.piecesX), a = calcAngle(this.centerX,this.centerY,x,y), dist = randomFloat(4,7);
new DebrisParticle(this.element,x,y,this.pieceWidth,this.pieceHeight,a,dist,duration,easing); } } } } class Particle { constructor(parent,x,y,w,h,angle,distance = 1,className2 = "") { let width = `${w}em`, height = `${h}em`, adjustedAngle = angle + Math.PI/2;
<< Создать взрывную кнопку при клике на CSS >> JS - так будет правильнее. Поскольку эффект взрыва идёт не на CSS. UPD.:
ЦитатаKosten ()
но уже написал
Я как раз и написал, что такие "косяки" нужно исправлять. А то получается, что почти всегда вы дописываете в заглавия материалов "на CSS". Ведь правильно подметили, что CSS - основа для дизайна (значит во всех материалах оно идёт, а вот функции JS, без которых оно не будет работать - не всегда). Ну, а если писать "на чистом CSS" - это акцент на то, что в основном эффект делался через JS, а спустя уже возможности стилей расширены были, что сделали через CSS3 (или просто то же самое можно сделать стилями, без скриптов). P.S.: и да, почему я отписался, спросите вы? Нет, не поумничать ради. В тему заглянул, так как думал, что здесь чего-то интересного сделано стилями, но увы (заглавие ввело в заблуждение).
Помог? Скажи спасибо в виде "+" - вам мелочь, а мне приятно. Бесплатное оказание помощи в ответах на "Вопросы про uCoz".
Сообщение отредактировал -SAM- - Суббота, 25 Апреля 2020, 01:39