и бросил его на jsbin: http://jsbin.com/ohazo/2 но код на jsbin старый код, поэтому overlay_nextimg является overlay_content.click в JavaScript на jsbinВыберите ссылку сразу после того, я просто нажал
Jquery лайтбокс, грейферным следующую ссылку от той, которую мы только что нажали, возьмем href, затухаем текущее изображение и загрузим следующий IMG.
Кроме того, как бы я пошел, чтобы поддерживать overlay_content в центре? при смене изображений, оживите ли он новую позицию? Я собирался заняться этим следующим, но я здесь, так почему бы и нет.
JQuery и Html, я изменил overlay_content.click, что мы использовали до overlay_nextimg, чтобы быть менее запутанным.
Jquery:
$(function(){
$('a.lightbox').click(function() {
var imghref = $(this).attr("href");
loadImage(imghref);
alert(imghref)
return false;
});
$('.overlay_nextimg').click(function(){
var currlink = $("a[href='" + $(".overlay_content img").attr("src") + "']");
var nextlink = $(currlink).next(".lightbox");
var prevlink = $(currlink).prev(".lightbox");
alert(nextlink);
loadImage(nextlink);
});
$('.overlay_previmg').click(function(){
var currlink = $("a[href='" + $(".overlay_content img").attr("src") + "']");
var nextlink = $(currlink).next(".lightbox");
var prevlink = $(currlink).prev(".lightbox");
alert(prevlink);
loadImage(prevlink);
});
function loadImage(href, prevlink, nextlink) {
var currentImg = $('.overlay_content img');
var img = new Image();
var docHeight = $(document).height();
$('.overlay_content').delay(300).fadeIn(400);
$(".overlay_bg").height(docHeight).fadeIn(400, function(){
$(img).load(function() {
$(img).hide();
$('.overlay_content').html(img);
$(img).fadeIn('slow');
}).error(function() {
$('.overlay_content').html("you SUCK at Javascript")
}).attr('src', href);
})
}
$('.overlay_bg').click(function(){
$(this).fadeOut(300);
$(".overlay_content").fadeOut(300, function(){
$(this).html('');
});
});
});
HTML:.
<div class="overlay_bg"></div>
<div class="overlay_content"></div>
<h1>links</h1>
<a href="images/watercolor.jpg" class="lightbox">Load a water color image.</a>
<a href="images/library_book.png" class="lightbox">Load a library book, yeah.</a>
<a href="http://www.sohtanaka.com/web-design/examples/image-zoom/preview.jpg" class="lightbox">from the interweb.</a>
<a href="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/Teaching-20100210-164155.jpg" class="lightbox">internet image.</a>
<a href="http://francorobles.files.wordpress.com/2009/10/cyber_jquery1.jpg" class="lightbox">HUGE</a>
Нам не хватает столь важной информации. Где метод click, который обрабатывает ссылки? Что действительно делает функция изображения загрузки. Как выглядит DOM при показе изображения. На этот вопрос мог бы ответить через минуту, если бы мы знали это. – Sampson
обновленный код, чтобы включить то, что вы мне дали. теперь он говорит «объект объекта» в предупреждении при нажатии следующей или предыдущей ссылки, а затем он показывает ошибку в div overlay_contents, вместо того, чтобы показывать следующее изображение. – ExodusNicholas