Подход Ричарда работает очень хорошо.
Вы также можете сделать это, расширив Galleria без функции готовности:
JS
Galleria.run('.galleria', {
// configure
autoplay: true,
lightbox: true,
idleMode: true,
// extend theme
extend: function() {
var gallery = this; // "this" is the gallery instance
//fullscreen button
this.addElement('fscr');
this.appendChild('stage','fscr');
var fscr = this.$('fscr').click(function() {
gallery.toggleFullscreen();
});
// this.addIdleState(this.get('fscr'), { opacity:0 });
}
});`
И если вы хотите использовать значок fontAwesome для значка максимизации, вы можете реализовать его следующим образом (другие стили CSS см. В сообщении Ричарда):
CSS
.galleria-fscr:before {
content: "\f065"; /* char code for fa-expand */
position: absolute;
font-family: FontAwesome;
color: #fff;
}
(не забывайте включать таблицу стилей fontAwesome с <link rel="stylesheet" href="css/font-awesome.min.css">
)
У меня все еще есть одна проблема с кнопкой максимизации.Если я парю над ним, он не становится белым и остается серым.Возможно, что-то с состоянием IDLE не так, но я пока не нашел решения.(Если я удаляю строку кода с помощью this.addIdleState(...)
, зависание работает. Мне нужно сделать больше тестов здесь.)
Я также хотел бы изменить значок с максимизировать на значок минимизации, когда экран включенна весь экран, но я пока не знаю, как это сделать.Это также в моем списке задач.
Обновление 07.02.2014
Я выяснил, как решить эти две проблемы:
Для "состояния IDLE"проблема - я удалил состояние IDLE.Потому что мне все равно, есть ли эти элементы управления постоянно, и теперь парение работает, как и ожидалось.Возможно, я проверю другое решение позже.
Чтобы изменить значок при нажатии, вы можете сделать это с помощью CSS и jQuery:
Добавить переопределяющий CSSправило ниже первого до фильтра значка максимизации в вашей CSS например:
.galleria-fscr.minimize:before{
content: "\f066";
}
Добавьте эти строки JS после gallery.toggleFullscreen()
- переключает значок при каждом щелчке между обычным стилем перед и стилем минимизации перед:
$(".galleria-fscr").toggleClass("minimize");
Это также работает для кнопки воспроизведения / возобновления (остальная часть кода аналогична полноэкранному коду):
JS
...
gallery.playToggle();
$('.galleria-pauseResumeBtn').toggleClass("resume");