Удалить строку style="display:none;"
<a href="#fancybox-logon">Log On</a>
<div id="fancybox-logon">My content!</div>
Скройте его с помощью javascript / jQuery:
$('#fancybox-logon').hide();
Таким образом, если javascript отключен, контент все равно будет виден и якорь будет работать правильно.
Вы можете создать ссылку с помощью javascript, если считаете, что она избыточна, когда js отключен, и вы обеспокоены этим (имейте в виду, что это нишевый случай, так что это скорее оптимизация).
$('#fancybox-logon').before('<a href="#fancybox-logon">Log On</a>');
Если вы хотите использовать ссылку на страницу внешнего входа, когда js отключен, просто измените href
. Пример:
<a href="logon.php" data-lightbox="fancybox-logon">Log on!</a>
<div id="fancybox-logon" style="display:none;">My content!</div>
$('[href="logon.php"]').attr('href', '#fancybox-logon');
Таким образом, пользователи без js получают обычную ссылку, а все остальные получают хэш-ссылку.