animation changement d'ordre OK
This commit is contained in:
parent
fed2e84e4d
commit
8c2af9d725
2 changed files with 24 additions and 38 deletions
|
@ -19,24 +19,15 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
#sortOrder{
|
#sortOrder{
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: center;
|
||||||
color: white;
|
color: white;
|
||||||
font-family:'Wellfleet',cursive;
|
font-family:'Wellfleet',cursive;
|
||||||
font-size: 1.2vw;
|
font-size: 1.4vw;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* #sortOrder:hover {
|
|
||||||
animation: rotate180 2s forwards
|
|
||||||
}
|
|
||||||
|
|
||||||
.letter {
|
|
||||||
animation: rotate180 2s forwards;
|
|
||||||
} */
|
|
||||||
|
|
||||||
#sortOrder>span {
|
|
||||||
animation : rotate180 2s forwards
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes rotate180 {
|
@keyframes rotate180 {
|
||||||
0% {}
|
0% {}
|
||||||
100% { transform: rotate3d(0,1,0, 180deg)}
|
100% { transform: rotate3d(0,1,0, 180deg)}
|
||||||
|
|
|
@ -27,26 +27,14 @@ class Sort extends Component {
|
||||||
setOrderText() {
|
setOrderText() {
|
||||||
switch(this.state.sortType) {
|
switch(this.state.sortType) {
|
||||||
case "name":
|
case "name":
|
||||||
if (this.props.lowToHigh) {
|
|
||||||
this.setState({
|
this.setState({
|
||||||
orderText: "a-z"
|
orderText: "A-Z"
|
||||||
})
|
})
|
||||||
} else {
|
|
||||||
this.setState({
|
|
||||||
orderText: "z-a"
|
|
||||||
})
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case "price":
|
case "price":
|
||||||
if (this.props.lowToHigh) {
|
|
||||||
this.setState({
|
this.setState({
|
||||||
orderText: "0-9"
|
orderText: "0-9"
|
||||||
})
|
})
|
||||||
} else {
|
|
||||||
this.setState({
|
|
||||||
orderText: "9-0"
|
|
||||||
})
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -63,25 +51,32 @@ class Sort extends Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
handleChangeSortOrder() {
|
handleChangeSortOrder() {
|
||||||
let letters = document.getElementsByClassName("letter")
|
let letters = document.querySelectorAll('.letter');
|
||||||
let sortText = document.getElementById("sortOrder")
|
let sortText = document.getElementById("sortOrder");
|
||||||
|
|
||||||
//animation du texte entier
|
//animation du texte entier
|
||||||
if (this.state.flipped) {
|
if (this.state.flipped) {
|
||||||
sortText.style.cssText = "animation: reverse180 1s forwards"
|
sortText.style.cssText = "animation: reverse180 1s forwards"
|
||||||
|
letters.forEach((l) => {
|
||||||
|
l.style.animation = "reverse180 0.5s forwards"
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
sortText.style.cssText = "animation: rotate180 1s forwards"
|
sortText.style.cssText = "animation: rotate180 1s forwards"
|
||||||
|
letters.forEach((l) => {
|
||||||
|
l.style.animation = "rotate180 0.5s forwards"
|
||||||
|
});
|
||||||
}
|
}
|
||||||
//animation de chaque lettre
|
|
||||||
for (let i = 0 ; i<letters.length ; i++) {
|
|
||||||
letters[i].style.animation = "rotate180 1s forwards"
|
|
||||||
}
|
|
||||||
this.setState({flipped : !this.state.flipped})
|
this.setState({flipped : !this.state.flipped})
|
||||||
|
|
||||||
|
//actualisation de l'ordre d'affichage des produits
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.props.handleChangeSortOrder();
|
this.props.handleChangeSortOrder();
|
||||||
}, 500)
|
}, 500)
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
console.log(document.getElementById("sortOrder"))
|
||||||
// console.log(this.state.orderText)
|
// console.log(this.state.orderText)
|
||||||
// console.log(this.state.orderText.split(""))
|
// console.log(this.state.orderText.split(""))
|
||||||
// console.log(document.getElementById("sortOrder"))
|
// console.log(document.getElementById("sortOrder"))
|
||||||
|
@ -103,7 +98,7 @@ class Sort extends Component {
|
||||||
</div>
|
</div>
|
||||||
<p id="sortOrder" onClick={this.handleChangeSortOrder} hidden={this.props.orderIsHidden}>
|
<p id="sortOrder" onClick={this.handleChangeSortOrder} hidden={this.props.orderIsHidden}>
|
||||||
{this.state.orderText.split("").map((l) =>
|
{this.state.orderText.split("").map((l) =>
|
||||||
<span className="letter">{l}</span>
|
<div className="letter">{l}</div>
|
||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in a new issue