2013-08-31 2 views
6

В Fancybox 2.1.5 Я хочу заменить элементы управления по умолчанию на свои пользовательские кнопки (новые кнопки preloader + close/next/prev на спрайте).Как заменить стандартные элементы управления пользовательскими кнопками в Fancybox 2.1.5?

Я не уверен, как правильно отрегулировать код css. Я попытался изменить CSS as follows, но что-то не так, значок «next» появляется в верхнем правом углу вместо кнопки «закрыть».

Вы можете увидеть мой код на this gist.

ответ

16

Нет необходимости возиться с исходным файлом CSS, используйте опцию tpl API вместо как

$(".fancybox").fancybox({ 
    tpl: { 
     closeBtn: '<a title="Close" class="fancybox-item fancybox-close myClose" href="javascript:;"></a>' 
    } 
}); 

Обратите внимание, что я добавил класс myClose, так что я могу установить его собственные конкретные CSS свойства, фоновое изображение и т.д., как

.myClose { 
    height: 50px; 
    width: 50px; 
    background: #ff0000; 
} 

См JSFIDDLE только в качестве примера.

Сделайте то же самое для превью/следующих значков. Проверьте API documentation (search for tpl)

+0

Спасибо за советы. Но этот способ выглядит намного сложнее, чем просто редактирование CSS-файла, который достаточно мал и достаточно прост. Плагин Fancybox используется в Prestashop. Я не знаю, где для этого нужен файл tpl. На мой взгляд, изменение шаблона prestashop будет более сложным. Я скорректировал файл jquery.fancybox.css, он просто работает по мере необходимости, например: http://codepad.org/NXqQL6a0. Я не уверен в некоторых деталях здесь: 'margin-top: -22px; margin-left: -22px; (строка 88,89) 'и' margin-top: -15px; (строка 137) '- являются ли эти значения связанными с оригинальными размерами кнопок или их независимыми от них? – triwo

+1

@triwo день prestashop решает обновить fancybox, тогда вам нужно будет снова настроить файл css. Вот почему не рекомендуется смешивать исходные файлы (но это зависит от вас) ... и 'tpl' не является файлом, это вариант, который вы используете в своем сценарии инициализации fancybox, чтобы переопределить то, что находится в CSS-файл без его модификации. – JFK

+0

Я попробую собственный скрипт инициализации fancybox, но теперь я просто хочу выполнить CSS-моды и получить ответы на свой вопрос. – triwo

Смежные вопросы