2014-01-18 2 views
0

Я студент графического дизайна, и я делаю портфолио. Мне нужен лайтбокс, чтобы показать мою работу. Я, наконец, получил все, кроме одной проблемы.jQuery Лайтбокс появляется при открытии страницы

Всякий раз, когда я загружаю свою страницу, лайтбокс также загружается. Я не хочу этого. Я хочу, чтобы лайтбокс показывался только тогда, когда люди нажимают на миниатюры моей работы.

Я следовал за this учебником от Tutsplus, потому что я не знаком с jQuery. Единственное, что я изменил в скрипте, - это то, что лайтбокс будет исчезать и исчезать при нажатии. Это код, я использую

</script><script type="text/javascript"> 
//<![CDATA[ 
    jQuery(document).ready(function($) { 
    $('.lightbox_trigger').click(function(e) { 
     //prevent default action (hyperlink) 
     e.preventDefault(); 
     //Get clicked link href 
     var image_href = $(this).attr("href"); 
     /* 
     If the lightbox window HTML already exists in document, 
     change the img src to to match the href of whatever link was clicked 
     If the lightbox window HTML doesn't exists, create it and insert it. 
     (This will only happen the first time around) 
     */ 
     if ($('#lightbox').length > 0) { // #lightbox exists 
      //place href as img src value 
      var maxheightvalue = $("#lightbox").height() -60; 
    $("#lightbox img").css("max-height", maxheightvalue + "px"); 
      $('#lightbox').fadeIn(400); 
      $('#content').html('<img src="' + image_href + '" />'); 
      //show lightbox window - you could use .show('fast') for a transition 

     } 
     else { //#lightbox does not exist - create and insert (runs 1st time only) 
      //create HTML markup for lightbox window 
      var lightbox = 
      '<div id="lightbox" style="display:none">' + 
       '<p>Click to close<\/p>' + 
       '<div id="content">' + //insert clicked link's href into img src 
        '<img src="' + image_href +'" />' + 
       '<\/div>' + 
      '<\/div>'; 
      //insert lightbox HTML into page 
      $('body').append(lightbox); 
     } 
    }); 
    //Click anywhere on the page to get rid of lightbox window 
    $('#lightbox').live('click', function() { //must use live, as the lightbox element is inserted into the DOM 
     $('#lightbox').fadeOut(300); 
    }); 
    }); 
    //]]> 
    </script> 

Я уверен, что это настоящий беспорядок, но до сих пор он работал на этой одной маленькой вещи, за исключением. Но если кто-то может его очистить (если возможно), я был бы очень благодарен.

ответ

0

ваш может попробовать использовать этот пример

$(document).ready(function(){ 
    $("#some").on("click", function(){ 
     $("#gallery").lightbox(); 
    }); 
}); 

выше должен загрузить осветитель для ур галереи или желаемому ID.

http://api.jquery.com/on/

+0

где в коде я бы положил это? – user3210292

+0

встроенная функция приготовления ура – c0d3

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