ссылочных: http://www.sanandreasradio.comCSS Image Непрозрачность Fade переходы с несколькими элементами (класс)
У меня есть куча изображений в виде кнопок, и они в настоящее время есть изменение непрозрачности на: парении. Это исчезает с использованием переходов CSS (для его тестирования я настроил его только для веб-браузеров). Когда страница сначала загружается, все работает так, как ожидалось, вы можете навешивать изображение, и его непрозрачность постепенно увеличивается, а когда она теряет фокус наоборот.
Когда я нажимаю на изображение, я вызываю функцию (ниже), которая задает непрозрачность всех непрозрачных элементов изображения (класс .station-button) в нормальном режиме, а затем увеличивает непрозрачность выбранной кнопки до 1,0 (100%). Как только это произойдет, эффект зависания для других кнопок больше не работает (по какой-то причине он также не работает для выбранной кнопки). Переход по-прежнему работает при нажатии другой кнопки, но эффекты зависания полностью прекращают работу.
Способ, которым он будет работать (как сейчас, так как он не учитывает текущую кнопку, которая находится на непрозрачности 1.0), заключается в том, что ЛЮБАЯ кнопка, над которой я нависаю, должна иметь свою непрозрачность, постепенно меняющуюся до 0,6 , ДАЖЕ выбранный (который мне также нужно исправить каким-то образом).
Я долго смотрел на это, не найдя решения.
Как я могу сделать полностью фиксированную версию, где не выбранные кнопки (opacity! = 1.0) будут исчезать до непрозрачности 0.6 на: hover и fade to opacity 1.0 on: click, а выбранный в данный момент будет не влияет на: зависание?
Вот конкретные css и js.
CSS:
.station-button {
opacity:0.3;
cursor:pointer;
width:120px;
height:120px;
-webkit-transition:opacity .3s;
-webkit-transition-timing-function:ease;
}
.station-button:hover {
opacity:0.6;
}
JS:
function changestation(stationid) {
mystation = document.getElementById(stationid);
allofclass = document.getElementsByClassName("station-button");
for (i = 0; i < allofclass.length; i++) allofclass[i].style.opacity = 0.3;
mystation.style.opacity = 1.0;
currentstation = stationid;
loadnext();
}
Вы против jQuery? Я знаю, что элитные эксперты javascript ненавидят меня, чтобы спросить об этом, но jQuery обрабатывает анимации в меньшем и более простом коде.Не похоже, чтобы у вас была какая-то проблема с производительностью, если у вас не было сотен таких вещей на одной странице. – ntgCleaner
Что такое loadnext(), есть ли у вас какие-либо ошибки? – raam86
ntgCleaner: По техническим причинам этот проект должен быть чистым js. Я знаю, что jQuery и другие библиотеки имеют встроенный выбор элементов, кросс-браузерные переходы с резервными копиями и т. Д., Но, как я уже сказал, raam86: loadnext() имеет дело с воспроизведением звука и загрузкой, он полностью отделен от пользовательского интерфейса. Нет ошибок для чего-либо на странице, js и все. – turtlefeet