2016-02-13 71 views
-2

我想要使用JavaScript實現基本燈箱效果。 那麼讓我告訴你,我是一個JavaScript的初學者。使用CSS和Javascript不工作的基本燈箱效果

我要的是,當我點擊鏈接,燈箱效果應該接管行動。(i..ea圖像應顯示在頁面的中心,tranperant黑色背景)

但一些如何這樣的效果並不/甚至在IE 9

檢查我的jsfiddle更多細節

https://jsfiddle.net/Addle/z58jzydj/12/

發生在谷歌的Chrome/Firefox的這裏是主要的JavaScript代碼:

$(".lightbox").click(function(){ 
    var overlayLink; 
    overlayLink = $(this).attr("href"); 
    window.startOverlay(overlayLink); 
    return false; 

    function startOverlay(overlayLink) { 
    $("body").append('<div class="overlay"></div><div class="container"> </div>').css({"overflow-y":"hidden"}); 
    $(".overlay").animate({"opacity":"0.6"}, 200, "linear"); 
    $(".container").html('<img src="'+overlayLink+'" alt="" />'); 

    $(".container img").load(function() { 
     var imgWidth = $(".container img").width(); 
     var imgHeight = $(".container img").height(); 
     $(".container") 
      .css({    "top":"50%","left:"50%","width":imgWidth,"height":imgHeight,"margin-top": -(imgHeight/2),"margin-left":-(imgWidth/2) 
      }) 
      .animate({"opacity":"1"}, 200, "linear"); 
    }); 

     $(".overlay").click(function(){ 
    $(".container, .overlay") 
    .animate({"opacity":"0"}, 200, linear, function(){ 
     $(".container, .overlay").remove(); 
    }) 
}); 

} 

}); 

請有人幫助我指出我正在做的確切的錯誤。

在此先感謝。

回答

0

有錯別字的負荷在你的代碼

  • .css({"top": "50%","left: "50%","width":

  • 您需要包括jQuery的,如果你想使用$

請學習如何使用瀏覽器的Javascript控制檯找到錯誤,而不是隻發佈半工作代碼到Stackoverflow。

+0

謝謝 「Johanes JANDER」 的寶貴意見。使用控制檯調試錯誤確實幫助了我,現在經過大量的試驗和錯誤,我終於微調了我的JavaScript代碼。這已經解決了我的問題。 :) –

+0

這真是太棒了,歡呼聲:) –

0

"top":"50%","left:"50%"您在left之後缺少"。是"top":"50%","left":"50%"

0

問題出在我的JavaScript代碼的語法,格式,輸入錯誤。 我已經很好地調整了它。 和我所有的腳本運行良好。

我已經將jquery文件添加到代碼中。 檢查的jsfiddle代碼的細節:

https://jsfiddle.net/Addle/z58jzydj/20/

Thanks guys for your help