2016-02-12 52 views
-2

我目前正在研究this电网。我已经遵循了所有步骤,并且据我所见,我找不到任何错误(但这可能仅仅是因为我查看了代码太久)。Javascript将不加载?

CSS和HTML似乎工作正常,但javascript/jquery不会在我的文件中运行,虽然演示工作正常。

这是相关代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> 
<head> 
<meta http-equiv="X-UA-Compatible" content="IE=edge"> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>Noah Skullestad</title> 
<link href="../CSS/stylesheet.css" rel="stylesheet" type="text/css" /> 
<link href="../CSS/grid.css" rel="stylesheet" type="text/css" /> 
<link href="../CSS/overgang.css" rel="stylesheet" type="text/css" /> 
<link href="../CSS/animsition.min.css" rel="stylesheet" type="text/css"/> 
<link href="../fonts/font-awesome-4.3.0/css/font-awesome.css" rel="stylesheet" type="text/css" /> 
<link href="../CSS/normalize.css" rel="stylesheet" type="text/css" /> 
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script> 
</head> 
<body> 

<!--- Scripts --> 
<script type="text/javascript" src="../scripts/overganger.js"></script> 
<script type="text/javascript" src="../scripts/animsition.min.js"></script> 
<script type="text/javascript" src="../scripts/modernizr-custom.js"></script> 
<script type="text/javascript" src="../scripts/jquery.kinetic.min.js"></script> 
<script type="text/javascript" src="../scripts/jquery.easing.1.3.js"></script> 
<script type="text/javascript" src="../scripts/jquery.tmpl.min.js"> </script> 
<script type="text/javascript" src="../scripts/grid.js"></script> 

<script id="previewTmpl" type="text/x-jquery-tmpl"> 
     <div id="ib-img-preview" class="ib-preview"> 
      <img src="${src}" alt="" class="ib-preview-img"/> 
      <span class="ib-preview-descr" style="display:none;">${description}</span> 
      <div class="ib-nav" style="display:none;"> 
       <span class="ib-nav-prev">Previous</span> 
       <span class="ib-nav-next">Next</span> 
      </div> 
      <span class="ib-close" style="display:none;">Close Preview</span> 
      <div class="ib-loading-large" style="display:none;">Loading...</div> 
     </div>  
    </script> 
    <script id="contentTmpl" type="text/x-jquery-tmpl"> 
     <div id="ib-content-preview" class="ib-content-preview"> 
      <div class="ib-teaser" style="display:none;">{{html teaser}}</div> 
      <div class="ib-content-full" style="display:none;">{{html content}}</div> 
      <span class="ib-close" style="display:none;">Close Preview</span> 
     </div> 
    </script> 

<div id="ib-main-wrapper" class="ib-main-wrapper"> 
<div class="ib-main"> 
    <a href="#"> 
     <img src="../images/Grid/Thumbs/01.jpg" data-largesrc="../images/Grid/Originals/01.jpg" alt="image01" /> 
     <span> test</span> 
    </a> 
    <a href="#"> 
     <img src="../images/Grid/Originals/02.jpg" data-largesrc="../images/Grid/Originals/02.jpg" alt="image02" /> 
     <span> test</span> 
    </a> 
    <a href="#" class="ib-content"> 
     <div class="ib-teaser"> 
      <h2> Webdesign <span> av topp kvalitet</span></h2> 
     </div> 
     <div class="ib-content-full"> 
      <!--- Innhold ---> 
     </div> 
    </a> 
    <a href="#"> 
     <img src="../images/Grid/Originals/03.jpg" data-largesrc="../images/Grid/Originals/03.jpg" alt="image03" /> 
     <span> test</span> 
    </a> 
    <a href="#"> 
     <img src="../images/Grid/Originals/04.jpg" data-largesrc="../images/Grid/Originals/04.jpg" alt="image04" /> 
     <span> test</span> 
    </a> 
    <a href="#"> 
     <img src="../images/Grid/Originals/05.jpg" data-largesrc="../images/Grid/Originals/05.jpg" alt="image05" /> 
     <span> test</span> 
    </a> 
</div> 
</div> 

的JavaScript:

var $ibWrapper = $('#ib-main-wrapper'), 

Template = (function() { 
    var kinetic_moving    = false, 
// current index of the opened item 
current      = -1, 
// true if the item is being opened/closed 
isAnimating     = false, 
// items on the grid 
$ibItems     = $ibWrapper.find('div.ib-main > a'), 
// image items on the grid 
$ibImgItems     = $ibItems.not('.ib-content'), 
// total image items on the grid 
imgItemsCount    = $ibImgItems.length, 

init      = function() { 

    // add a class ib-image to the image items 
    $ibImgItems.addClass('ib-image'); 
    // apply the kinetic plugin to the wrapper 
    loadKinetic(); 
    // load some events 
    initEvents(); 

}, 

loadKinetic     = function() { 

setWrapperSize(); 

$ibWrapper.kinetic({ 
    moved : function() { 

     kinetic_moving = true; 

    }, 
    stopped : function() { 

     kinetic_moving = false; 

    } 
}); 

}, 

setWrapperSize    = function() { 

var containerMargins = $('#ib-top').outerHeight(true) + $('#header').outerHeight(true) + parseFloat($ibItems.css('margin-top')); 
$ibWrapper.css('height', $(window).height() - containerMargins) 

}, 

initEvents     = function() { 

// open the item only if not dragging the container 
$ibItems.bind('click.ibTemplate', function(event) { 

    if(!kinetic_moving) 
     openItem($(this)); 

    return false; 

}); 

// on window resize, set the wrapper and preview size accordingly 
$(window).bind('resize.ibTemplate', function(event) { 

    setWrapperSize(); 

    $('#ib-img-preview, #ib-content-preview').css({ 
     width : $(window).width(), 
     height : $(window).height() 
    }) 

}); 

}, 
openItem     = function($item) { 

if(isAnimating) return false; 

// if content item 
if($item.hasClass('ib-content')) { 

    isAnimating = true; 
    current = $item.index('.ib-content'); 
    loadContentItem($item, function() { isAnimating = false; }); 

} 
// if image item 
else { 

    isAnimating = true; 
    current = $item.index('.ib-image'); 
    loadImgPreview($item, function() { isAnimating = false; }); 

} 

}, 

loadImgPreview    = function($item, callback) { 

var largeSrc  = $item.children('img').data('largesrc'), 
    description  = $item.children('span').text(), 
    largeImageData = { 
     src   : largeSrc, 
     description : description 
    }; 

// preload large image 
$item.addClass('ib-loading'); 

preloadImage(largeSrc, function() { 

    $item.removeClass('ib-loading'); 

    var hasImgPreview = ($('#ib-img-preview').length > 0); 

    if(!hasImgPreview) 
     $('#previewTmpl').tmpl(largeImageData).insertAfter($ibWrapper); 
    else 
     $('#ib-img-preview').children('img.ib-preview-img').attr('src', largeSrc); 

    //get dimentions for the image, based on the windows size 
    var dim = getImageDim(largeSrc); 

    $item.removeClass('ib-img-loading'); 

    //set the returned values and show/animate preview 
    $('#ib-img-preview').css({ 
     width : $item.width(), 
     height : $item.height(), 
     left : $item.offset().left, 
     top  : $item.offset().top 
    }).children('img.ib-preview-img').hide().css({ 
     width : dim.width, 
     height : dim.height, 
     left : dim.left, 
     top  : dim.top 
    }).fadeIn(400).end().show().animate({ 
     width : $(window).width(), 
     left : 0 
    }, 500, 'easeOutExpo', function() { 

     $(this).animate({ 
      height : $(window).height(), 
      top  : 0 
     }, 400, function() { 

      var $this = $(this); 
      $this.find('span.ib-preview-descr, span.ib-close').show() 
      if(imgItemsCount > 1) 
       $this.find('div.ib-nav').show(); 

      if(callback) callback.call(); 

     }); 

    }); 

    if(!hasImgPreview) 
     initImgPreviewEvents(); 

}); 

}, 

loadContentItem    = function($item, callback) { 

var hasContentPreview = ($('#ib-content-preview').length > 0), 
    teaser    = $item.children('div.ib-teaser').html(), 
    content    = $item.children('div.ib-content-full').html(), 
    contentData   = { 
     teaser  : teaser, 
     content  : content 
    }; 

if(!hasContentPreview) 
    $('#contentTmpl').tmpl(contentData).insertAfter($ibWrapper); 

//set the returned values and show/animate preview 
$('#ib-content-preview').css({ 
    width : $item.width(), 
    height : $item.height(), 
    left : $item.offset().left, 
    top  : $item.offset().top 
}).show().animate({ 
    width : $(window).width(), 
    left : 0 
}, 500, 'easeOutExpo', function() { 

    $(this).animate({ 
     height : $(window).height(), 
     top  : 0 
    }, 400, function() { 

     var $this = $(this), 
      $teaser = $this.find('div.ib-teaser'), 
      $content= $this.find('div.ib-content-full'), 
      $close = $this.find('span.ib-close'); 

     if(hasContentPreview) { 
      $teaser.html(teaser) 
      $content.html(content) 
     } 

     $teaser.show(); 
     $content.show(); 
     $close.show(); 

     if(callback) callback.call(); 

    }); 

}); 

if(!hasContentPreview) 
    initContentPreviewEvents(); 

}, 

// preloads an image 
preloadImage    = function(src, callback) { 

$('<img/>').load(function(){ 

    if(callback) callback.call(); 

}).attr('src', src); 

}, 

initImgPreviewEvents  = function() { 

var $preview = $('#ib-img-preview'); 

$preview.find('span.ib-nav-prev').bind('click.ibTemplate', function(event) { 

    navigate('prev'); 

}).end().find('span.ib-nav-next').bind('click.ibTemplate', function(event) { 

    navigate('next'); 

}).end().find('span.ib-close').bind('click.ibTemplate', function(event) { 

    closeImgPreview(); 

}); 

//resizing the window resizes the preview image 
$(window).bind('resize.ibTemplate', function(event) { 

    var $largeImg = $preview.children('img.ib-preview-img'), 
     dim   = getImageDim($largeImg.attr('src')); 

    $largeImg.css({ 
     width : dim.width, 
     height : dim.height, 
     left : dim.left, 
     top  : dim.top 
    }) 

}); 

}, 

initContentPreviewEvents = function() { 

$('#ib-content-preview').find('span.ib-close').bind('click.ibTemplate', function(event) { 

    closeContentPreview(); 

}); 

}, 

// navigate the image items in fullscreen mode 
navigate     = function(dir) { 

if(isAnimating) return false; 

isAnimating  = true; 

var $preview = $('#ib-img-preview'), 
    $loading = $preview.find('div.ib-loading-large'); 

$loading.show(); 

if(dir === 'next') { 

    (current === imgItemsCount - 1) ? current = 0 : ++current; 

} 
else if(dir === 'prev') { 

    (current === 0) ? current = imgItemsCount - 1 : --current; 

} 

var $item  = $ibImgItems.eq(current), 
    largeSrc = $item.children('img').data('largesrc'), 
    description = $item.children('span').text(); 

preloadImage(largeSrc, function() { 

    $loading.hide(); 

    //get dimentions for the image, based on the windows size 
    var dim = getImageDim(largeSrc); 

    $preview.children('img.ib-preview-img') 
        .attr('src', largeSrc) 
        .css({ 
     width : dim.width, 
     height : dim.height, 
     left : dim.left, 
     top  : dim.top 
        }) 
        .end() 
        .find('span.ib-preview-descr') 
        .text(description); 

    $ibWrapper.scrollTop($item.offset().top) 
       .scrollLeft($item.offset().left); 

    isAnimating = false; 

}); 

}, 

closeImgPreview    = function() { 

if(isAnimating) return false; 

isAnimating = true; 

var $item = $ibImgItems.eq(current); 

$('#ib-img-preview').find('span.ib-preview-descr, div.ib-nav, span.ib-close') 
       .hide() 
       .end() 
       .animate({ 
        height : $item.height(), 
        top  : $item.offset().top 
        }, 500, 'easeOutExpo', function() { 

        $(this).animate({ 
         width : $item.width(), 
         left : $item.offset().left 
         }, 400, function() { 

          $(this).fadeOut(function() {isAnimating = false;}); 

        }); 

       }); 

}, 

// closes the fullscreen content item 
closeContentPreview   = function() { 

if(isAnimating) return false; 

isAnimating = true; 

var $item = $ibItems.not('.ib-image').eq(current); 

$('#ib-content-preview').find('div.ib-teaser, div.ib-content-full, span.ib-close') 
         .hide() 
         .end() 
         .animate({ 
          height : $item.height(), 
          top  : $item.offset().top 
         }, 500, 'easeOutExpo', function() { 

          $(this).animate({ 
           width : $item.width(), 
           left : $item.offset().left 
          }, 400, function() { 

           $(this).fadeOut(function() {isAnimating = false;}); 

          }); 

         }); 

}, 

getImageDim     = function(src) { 

var img   = new Image(); 
img.src   = src; 

var w_w = $(window).width(), 
    w_h = $(window).height(), 
    r_w = w_h/w_w, 
    i_w = img.width, 
    i_h = img.height, 
    r_i = i_h/i_w, 
    new_w, new_h, 
    new_left, new_top; 

if(r_w > r_i) { 

    new_h = w_h; 
    new_w = w_h/r_i; 

} 
else { 

    new_h = w_w * r_i; 
    new_w = w_w; 

} 

return { 
    width : new_w, 
    height : new_h, 
    left : (w_w - new_w)/2, 
    top  : (w_h - new_h)/2 
}; 

}; 

})(); 

Template.init(); 

CSS:

} 
.ib-main-wrapper{ 
width: 100%; 
overflow: hidden; 
margin-top: 40px; 
outline: none; 
/*height dynamic*/ 
} 
.ib-main{ 
position: relative; 
width: 2546px; 
} 
.ib-main a{ 
float: left; 
width: 210px; 
height: 210px; 
position: relative; 
overflow: hidden; 
margin: 0px 0px 2px 2px; 
cursor: move; 
background: #fcfcfc url(../images/Grid/annet/thumb_bg.jpg) no-repeat center center; 
background-size: 110% 110%; 
-webkit-transition: all 0.2s ease-in-out; 
-moz-transition: all 0.2s ease-in-out; 
-o-transition: all 0.2s ease-in-out; 
-ms-transition: all 0.2s ease-in-out; 
transition: all 0.2s ease-in-out; 
} 
.ib-main a.ib-loading, 
.ib-main a.ib-loading:hover{ 
background: #fff url(../images/Grid/annet/ajax-loader.gif) no-repeat center center; 
background-size: 31px 31px; 
} 
.ib-main a.ib-loading img, 
.ib-main a.ib-loading:hover img{ 
opacity: 0.5; 
} 
.ib-main > a.ib-loading > span, 
.ib-main a.ib-loading > span{ 
display: none; 
} 
.ib-main a img{ 
opacity: 0.95; 
-webkit-transition: all 0.2s ease-in-out; 
-moz-transition: all 0.2s ease-in-out; 
-o-transition: all 0.2s ease-in-out; 
-ms-transition: all 0.2s ease-in-out; 
transition: all 0.2s ease-in-out; 
} 
.ib-main > a > span{ 
display: block; 
position: absolute; 
width: 100%; 
height: 20px; 
line-height: 22px; 
text-align: center; 
font-size: 11px; 
bottom: -20px; 
left: 0px; 
text-shadow: 1px 1px 1px rgba(0,0,0,0.4); 
-webkit-transition: all 0.2s ease-in-out; 
-moz-transition: all 0.2s ease-in-out; 
-o-transition: all 0.2s ease-in-out; 
-ms-transition: all 0.2s ease-in-out; 
transition: all 0.2s ease-in-out; 
} 
.ib-main a:hover > span{ 
bottom: 0px; 
} 
.ib-main a:hover img{ 
opacity: 0.8; 
} 
.ib-main a:hover{ 
background-size: 100% 100%; 
} 
.ib-content{ 
background: #f9f9f9; 
} 
.ib-content .ib-teaser{ 
text-align: center; 
background: #333; 
width: 100%; 
height: 100%; 
-webkit-transition: all 0.2s ease-in-out; 
-moz-transition: all 0.2s ease-in-out; 
-o-transition: all 0.2s ease-in-out; 
-ms-transition: all 0.2s ease-in-out; 
transition: all 0.2s ease-in-out; 
} 
.ib-teaser h2{ 
color: #fff; 
font-size: 26px; 
line-height: 26px; 
padding-top: 40%; 
text-shadow: 1px 0px 2px rgba(0,0,0,0.2); 
} 
.ib-teaser h2 span{ 
text-transform: none; 
font-size: 16px; 
font-family: Georgia, serif; 
font-style: italic; 
display: block; 
} 
.ib-content .ib-teaser:hover{ 
background: #000; 
} 
.ib-content-preview{ 
position: absolute; 
top: 44px; 
left: 0px; 
background: #000; 
width: 100%; 
height: 630px; /*dynamic*/ 
display: none; 
} 
.ib-content-preview .ib-teaser h2{ 
font-size: 50px; 
padding: 85px 40px 20px 40px; 
} 
.ib-content-preview .ib-teaser span{ 
padding: 20px 0px 0px 5px; 
font-size: 22px; 
} 
.ib-content-full{ 
font-family: 'Oswald'; 
text-transform: none; 
line-height: 26px; 
margin: 0px 40px; 
border-top: 1px solid #333; 
padding: 20px 0px; 
font-size: 16px; 
} 
.ib-content-full p{ 
padding: 5px 0px; 
} 
.ib-preview{ 
overflow: hidden; 
position: absolute; 
top: 40px; 
display: none; 
} 
.ib-preview-descr{ 
position: absolute; 
bottom: 30px; 
left: 10px; 
z-index: 999; 
font-size: 50px; 
text-shadow: 1px 0px 2px rgba(0,0,0,0.2); 
} 
.ib-preview img{ 
position: absolute; 
} 
.ib-nav span{ 
width: 53px; 
height: 87px; 
position: absolute; 
top: 50%; 
margin-top: -43px; 
cursor: pointer; 
text-indent: -9000px; 
opacity: 0.6; 
z-index: 999; 
background: transparent url(../images/Grid/annet/nav.png) no-repeat top right; 
right: 10px; 
-webkit-user-select: none; 
-khtml-user-select: none; 
-moz-user-select: none; 
-o-user-select: none; 
user-select: none; 
} 
.ib-nav span.ib-nav-prev{ 
background-position: top left; 
left: 10px; 
right: auto; 
} 
.ib-close{ 
top: 7px; 
right: 7px; 
background: transparent url(../images/close.png) no-repeat center center; 
position: absolute; 
width: 24px; 
height: 24px; 
cursor: pointer; 
opacity: 0.2; 
z-index: 999; 
text-indent: -9000px; 
} 
.ib-nav span:hover, .ib-close:hover{ 
opacity: 1; 
} 
.ib-loading-large{ 
text-indent: -9000px; 
width: 60px; 
height: 60px; 
background: #fff url(../images/ajax-loader.gif) no-repeat center center; 
position: absolute; 
top: 50%; 
left: 50%; 
margin: -30px 0 0 -30px; 
z-index: 999; 
-moz-border-radius: 10px; 
-webkit-border-radius: 10px; 
border-radius: 10px 10px 10px 10px; 
opacity: 0.9; 
} 

谢谢!

+0

尝试打开你的浏览器开发者工具或检查员看到实际的错误是什么 –

+0

你可以展示Java脚本的一部分?有一些JavaScript来实现看文档。 – Laurent

+0

@Lauent我编辑它:) –

回答

0

这似乎是你有jQuery加载问题。您使用//,并且在localhost中运行它时,并且不指定协议 - 路径更改为file://。这不是问题 - 它可以在生产服务器上运行。

当您测试和开发您的应用程序时,您可以将http:添加到您的src,这将解决它(在生产中,您可以再次添加//)。

所以你的jQuery脚本标签应该是这样的:

<script src="http://code.jquery.com/jquery-1.12.0.min.js"></script>