为什么我的JavaScript无法运作?

克洛伊·哈蒙德(Chloe Hammond)

我正在使用Codepen中的布局:http://codepen.io/trhino/pen/ytoqv

并且我已经将该代码的某些部分放到了我的html中,但是没有起作用。谁能告诉我原因以及如何解决?我想从Codepen教程中获得的只是实际的图片库效果以及“单击以展开”和“折叠”按钮。

这是我的网站目前的状态(忽略拉伸的照片,对javascript进行排序后,我将对其进行纠正)

http://me14ch.leedsnewmedia.net/portfolio/photo.html

真的感谢任何帮助!这是我的代码:

    <h2>(click on the box to expand gallery)</h2>


<div class="wrap">
  <div id="picture1" class="deck"> 
      <img src="http://www.me14ch.leedsnewmedia.net/portfolio/gallery/newyork1.JPG">
      </a>
    </div>
  <div id="picture2" class="deck">
      <img src="http://www.me14ch.leedsnewmedia.net/portfolio/gallery/newyork2.JPG">
      </a></div>
  <div id="picture3" class="deck"> 
      <img src="http://www.me14ch.leedsnewmedia.net/portfolio/gallery/newyork3.JPG">
      </a></div>
  <div id="picture4" class="deck">
      <img src="http://www.me14ch.leedsnewmedia.net/portfolio/gallery/newyork4.JPG">
      </a></div>
  <div id="picture5" class="deck">
      <img src="http://www.me14ch.leedsnewmedia.net/portfolio/gallery/newyork5.JPG">
      </a></div>
</div>


      <div id="close"><p>&laquo; collapse gallery</p></div>


  <div id="lightbox">
<div id="lightwrap">
 <div id="x"></div>
</div>

这是CSS

    /* gallery */

*, *::before, *::after {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

p {
  font-family: arial, helvetica, sans-serif;
  font-size: 24px;
  color: #6CBDEB;
  text-shadow: 1px 1px 1px #000;
}

.wrap {
  position: relative;
  width: 1125px;
  height: 200px;
  margin: 0 auto;
}

.deck {
  margin: 20px;
  border: 3px solid #FADBC8;
  height: 202px;
  width: 202px;
  position: absolute;
  top: 0;
  left: 0;
  transition: .3s;
  cursor: pointer;
  font-size: 50px;
  line-height:200px;
  text-align: center;

}

.deck a {
  color: black;
}

.deck img {
  height: 200px;
  width: 200px;
}

.album {
  border: 1px solid #FADBC8;
  height: 200px;
  width: 200px;
  float: left;
  transition: .3s;
  position: relative;
}

#close {
  position: relative;
  display: none;  
  width: 1125px;
  margin: 30px auto 0;
}

#close p {
  cursor: pointer;
  text-align: right;
  margin: 0 20px 0;
}
#lightbox {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.7);
  display: none;
  z-index: 999;
}

#lightwrap {
  position: relative;
  margin: 0 auto;
  border: 5px solid black;
  top: 15%;
  display: table;
}

#lightwrap img {
  display: table-cell;
  max-width: 600px;
}

#x {
  position: absolute;
  top: 2px;
  right: 2px;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAMAAAC6CgRnAAAAPFBMVEX///8AAAD9/f2CgoKAgIAAAAAAAAAAAABLS0sAAAAAAACqqqqqqqq6urpKSkpISEgAAAC7u7u5ubn////zbsMcAAAAE3RSTlMASv6rqwAWS5YMC7/AyZWVFcrJCYaKfAAAAHhJREFUeF590kkOgCAQRFEaFVGc+/53FYmbz6JqBbyQMFSYuoQuV+iTflnstI7ssLXRvMWRaEMs84e2uVckuZe6knL0hiSPObXhj6ChzoEkIolIIpKIO4joICAIeDd7QGIfCCjOKe9HEk8mnxpIAup/F31RPZP9fAG3IAyBSJe0igAAAABJRU5ErkJggg==);
  width: 27px;
  height: 27px;
  cursor: pointer;
}

这是Javascript:

 var i, expand = false;

function reset() {
  $('.deck').css({
    'transform': 'rotate(0deg)',
    'top'      : '0px'
  });
}

//expands and contracts deck on click
$('.deck').click(function (a) {
  if (expand) {
    a.preventDefault();
    var imgSource = $(this).children().attr('href');
    $('#lightwrap').append('<img src="' + imgSource + '" id="lb-pic">');
    $('#lightbox, #lightwrap').fadeIn('slow');
  } else {
    var boxWidth = $('.deck').width();
    $('.deck').each(function (e) {
      $(this).css({
        'left': boxWidth * e * 1.1 + 'px'
      });
      expand = true;
      $('#close').show();
    });
  }
});

//close lightbox
$('#x, #lightbox').click(function(){
  $('#lightbox').fadeOut('slow');
  $('#lightwrap').hide();
  $('#lb-pic').remove();
});

//prevent event bubbling on lightbox child
$('#lightwrap').click(function(b) {
  b.stopPropagation();
});

$('#close').click(function(){
  $(this).hide();
  $('.deck').css({'left': '0px'});
  expand = false;
});

$('.deck:last-child').hover(
  //random image rotation 
  function() {
    if (expand === false) {    
      $('.deck').each(function () {
        i++;
        if (i < $('.deck').length) {
          var min = -30,
              max = 30,
              random = ~~(Math.random() * (max - min + 1)) + min;
          $(this).css({
            'transform' : 'rotate(' + random + 'deg)',
            'top'       : random + 15 + 'px'
          });
        }
      });
    }
  //straightens out deck images when clicked
  $('.deck').click(
    function (a) {
      a.preventDefault();
      reset();
    }); 
  },
  //undo image rotation when not hovered
  function () {
    i = 0;
    reset();
  }
);
宏伟

只需将您的JavaScript封装在$( document ).ready() 函数中即可在页面加载时执行:

$( document ).ready(function() {
  //paste javascript code here
});

结果将是这样的:

在此处输入图片说明

这里也是一个jsBin

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我的vfl无法运作?

来自分类Dev

为什么我的倒数功能无法运作?

来自分类Dev

为什么这个JavaScript无法运作?

来自分类Dev

我的JavaScript无法运作

来自分类Dev

为什么我的蛮力MD5骇客无法运作?

来自分类Dev

为什么我的ng-repeat无法正常运作?

来自分类Dev

为什么这个Promise无法正常运作?

来自分类Dev

为什么这个XPath无法运作?

来自分类Dev

我的Javascript程式无法正常运作

来自分类Dev

为什么我的JavaScript无法循环播放

来自分类Dev

为什么我的JavaScript无法从php运行?

来自分类Dev

为什么我的JavaScript表单无法提交?

来自分类Dev

为什么我的JavaScript函数无法运行?

来自分类Dev

为什么我的基本javascript无法运行?

来自分类Dev

为什么我的JavaScript无法从php运行?

来自分类Dev

为什么我的JavaScript表单无法提交?

来自分类Dev

为什么我无法删除对象 (JavaScript)?

来自分类Dev

为什么grunt-contrib-watch livereload无法正常运作?

来自分类Dev

为什么这个Z-index无法正常运作?

来自分类Dev

为什么这个Z-index无法正常运作?

来自分类Dev

JavaScript无法正常运作

来自分类Dev

为什么我的JavaScript无法返回我想要的值?

来自分类Dev

为什么以及如何运作?

来自分类Dev

我的功能无法正常运作

来自分类Dev

我的'if'陈述无法正常运作

来自分类Dev

为什么我无法使用此javascript代码?

来自分类Dev

为什么我无法在javascript中访问对象属性?

来自分类Dev

为什么我的Ajax压缩程序无法合并javascript文件

来自分类Dev

为什么我的dropzone JavaScript表单无法正常工作?