前提・実現したいこと
投稿のアーカイブページにて
・削除ボタンを押したら、該当記事の明るさを変更するCSSを付与
・その後アラートを表示してOKが押されたら該当記事を削除
このような一連の動作を行う処理を行いたいです。
発生している問題・エラーメッセージ
クラスを付与してからアラートを表示したいのに、
アラートが表示されてOKを押した後にしかCSSが効かない。
厳密にいうとクラス自体は付与されているようなのですが、
OKを押すまでデザインは変わらないような感じです。
該当のソースコード
javascript
1delete(id) { 2 var activeClass = document.getElementById(id); 3 activeClass.classList.add("activeCard"); 4 5 alert(id+'を削除しますか') 6},
css
1.activeCard { 2 opacity: 0.5; 3}
単純に上から順に実行してくれるのであればこれで大丈夫だろうと思っていましたが、ダメなようです。
試したこと
クラスを付与する処理が完了してからalertが表示されるように、
下記のように関数を分割してみました。
javascript
1delete(id) { 2 var activeClass = document.getElementById(id); 3 var result = this.changeActiveClassColor(activeClass) 4 5 if(result){alert(id+'を削除しますか')}//色が変わってからalertを発火 6}, 7changeActiveClassColor(activeClass){ 8 activeClass.classList.add("activeCard");//該当要素の色を変更するクラスを付与 9 return true 10}
しかし、結果は同じでした。
「〇秒待ってからアラートを表示する」みたいな書き方をすれば可能なのかもしれませんが、
それはあまりスマートではない気がします。
どなたか知恵を貸していただきたいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/04 08:01