Schreiben Sie den Titel um: Konzentrieren Sie sich auf die Funktion der Konsolentasten und nicht auf andere Bereiche
P粉315680565
2023-09-02 09:28:50
<p>Ich habe 4 Schaltflächen und wenn darauf geklickt wird, versuche ich, den Fokus auf sie zu legen, damit der Benutzer die aktuell aktive Schaltfläche sehen kann. </p>
<p>Aus irgendeinem Grund funktioniert es in der Konsole wie erwartet: Wenn auf eine Schaltfläche geklickt wird, wird der Fokus hinzugefügt, die Hintergrundfarbe wird basierend auf CSS geändert. Wenn dann auf eine andere Schaltfläche geklickt wird, verliert die erste Schaltfläche den Fokus und die neue Schaltfläche erhält den Fokus. </p>
<p>Es funktioniert nicht, wenn ich die Konsole nicht geöffnet habe. </p>
<p>
<pre class="brush:js;toolbar:false;">const oneYear = document.getElementById('1Year');
const fiveYear = document.getElementById('5Year');
const tenYear = document.getElementById('10Year');
const twentyYear = document.getElementById('20Year');
Funktion changeDate(date) {
if (Datum === 1) {
oneYear.className += "aktiv";
setTimeout(oneYear.focus(), 1);
}
if (Datum === 5) {
fiveYear.focus();
fiveYear.className += "aktiv";
}
if (Datum === 10) {
tenYear.focus();
}
if (Datum === 20) {
twentyYear.focus();
}
}</pre>
<pre class="brush:css;toolbar:false;">.theme-dark-btn {
Übergang: alle Leichtigkeit 1s;
Hintergrundbild: linearer Farbverlauf (nach links, #1ACC8D, #1ACC8D, #235FCD, #1C4CA3);
Hintergrundgröße: 300 %;
Hintergrundposition: 0 0;
Rand: 1px einfarbig #1C4CA3;
Schriftstärke: 600;
Buchstabenabstand: 1px;
}
.theme-dark-btn:hover {
Hintergrundposition: 100 % 0;
Rand: 1 Pixel durchgehend #1ACC8D;
}
.theme-dark-btn:focus {
Hintergrundfarbe: #1ACC8D;
}
.theme-dark-btn:active {
Hintergrundfarbe: #1ACC8D;
}
.btn {
Höhe: 38px;
Zeilenhöhe: 35px;
Textausrichtung: Mitte;
Polsterung: 0 18px;
Texttransformation: Großbuchstaben;
Übergang: Hintergrundbild .3s linear;
Übergang: Box-Shadow .3s linear;
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
Randradius: 20px;
Schriftgröße: 12px !important;
}
.btn:focus {
Hintergrundfarbe: #1ACC8D;
}</pre>
<pre class="brush:html;toolbar:false;"><div class="col">
<button class="btn theme-dark-btn" type="button" style="color: white" id="1Year" onclick="changeDate(1)" Autofokus>1 Jahr</button>
<button class="btn theme-dark-btn" style="color: white" id="5Year" onclick="changeDate(5)">5 Jahre</button>
<button class="btn theme-dark-btn" style="color: white" id="10Year" onclick="changeDate(10)">10 Jahre</button>
<button class="btn theme-dark-btn" style="color: white" id="20Year" onclick="changeDate(20)">20 Jahre</button>
</div></pre>
</p>
首先,当你点击按钮时,你已经使其获得了焦点,你不需要动态地使其获得焦点。
所以,为什么背景颜色没有改变呢?
因为
background-image
已经覆盖了background-color
你只需要设置
background
而不是background-color
完整的示例,不需要
JS