ライトボックスが機能しない理由を知りたいです。私の .html.erb ファイルには、次のものがあります。
<a href="http://cdn.geekwire.com/wp-content/uploads/2011/10/patel-neil1-300x200.jpg?7794fe" class="thumbnail lightbox">
<img src="http://cdn.geekwire.com/wp-content/uploads/2011/10/patel-neil1-300x200.jpg?7794fe" alt="">
</a>
そして、私の .css.scss ファイルには次のものがあります。
#overlay {
position: fixed;
top: 0;
left: 0;
height: 100%;
width: 100%;
background: black url(loader.gif) no-repeat scroll center center;
}
#lightbox {
position: fixed;
}
最後に、私の jQuery の場合:
$(document).ready(function(){
$('#toggleButton').click(function() {
if ($('#experiment').is(':visible')) {
$('#experiment').hide();
} else {
$('#experiment').show();
}
});
alert('working!');
$('a.lightbox').click(function(e) {
// hide scrollbars!
$('body').css('overflow-y', 'hidden');
$('<div id="overlay"></div>')
.css('top', $(document).scrollTop())
.css('opacity', '0')
.animate({'opacity': '0.5'}, 'slow')
.appendTo('body');
$('<div id="lightbox"></div>')
.hide()
.appendTo('body');
$('<img>')
.attr('src', $(this).attr('href'))
.load(function() {
positionLightboxImage();
})
.click(function() {
removeLightbox();
})
.appendto('#lightbox');
return false;
});
function positionLightboxImage() {
var top = ($(window).height() - $('#lightbox').height()) / 2;
var left = ($(window).width() - $('#lightbox').width()) / 2;
$('#lightbox')
.css({
'top': top + $(document).scrollTop(),
'left': left
})
.fadeIn();
}
function removeLightbox() {
$('#overlay, #lightbox')
.fadeOut('slow', function() {
$(this).remove();
$('body').css('overflow-y', 'auto'); // show scrollbars!
});
}
});
Chrome Web インスペクターを使用して Javascript のエラーをデバッグしていますが、今は何もスローしていないので、ここで何が問題なのかわかりませんか? 特に、DOES に入れた jQuery アラートが実際にポップアップし、非表示機能が機能するため、ライトボックスの修正パスがどうなるかについて困惑しています。:\ どんな助けでも大歓迎です、ありがとう!