为了账号安全,请及时绑定邮箱和手机立即绑定

只能实现到页面翻转那里,输出海报就不可以了,报错如下

Uncaught TypeError: document[method] is not a function

    at g (index.html?_ijt=bg3dgb7hd8sc3c8jc5cb5gng07:137)

    at addPhotos (index.html?_ijt=bg3dgb7hd8sc3c8jc5cb5gng07:153)

    at index.html?_ijt=bg3dgb7hd8sc3c8jc5cb5gng07:166

g @ index.html?_ijt=bg3dgb7hd8sc3c8jc5cb5gng07:137

addPhotos @ index.html?_ijt=bg3dgb7hd8sc3c8jc5cb5gng07:153

(anonymous) @ index.html?_ijt=bg3dgb7hd8sc3c8jc5cb5gng07:166


请问我的报这个错是怎么回事啊?求大神,谢谢。而且只能实现到页面翻转


正在回答

4 回答

源码贴出来看一下

0 回复 有任何疑惑可以回复我~
#1

Pansychen 提问者

我把源码贴到回答里面了。。。麻烦您帮忙看一下
2017-11-21 回复 有任何疑惑可以回复我~

新手请教下,/photo_center/这种写法是js特有的吗,之前学js的时候没接触过,有大神讲解下吗

0 回复 有任何疑惑可以回复我~
#1

DGua

这是js正则匹配的写法,具体可以找js正则表达式的内容学习一下。
2018-03-28 回复 有任何疑惑可以回复我~

 <p class="image"><img src="../img/{{img}}" ></p>

好像是你的图片文件夹引用的不对,导致找不到图片。

如果是按照老师的思路来写的话,图片文件夹应该与index.html文件并列,所以路径应该是img/图片名.jpg

0 回复 有任何疑惑可以回复我~

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>海报画廊</title>

   <style type="text/css">
*{padding:0;margin: 0;}
       body {
           background-color: #ffffff;
font-size: 14px;
font-family: 'Avenir Next','Lantinghei SC';
color: #555555;
-webkit-font-smoothing: antialiased; /*字体抗锯齿*/
}

       /*设置垂直居中方法:
       position:absolute;
       top:50%;
       margin-top:-300px;设置为高度一半
       */
.wrap{
           width:100%;
height:600px;
position: absolute;
top:50%;
margin-top: -300px;
background-color: black;
overflow: hidden;

-webkit-perspective: 800px;/*使得出现旋转的特效*/
}
       /*海报样式*/
.photo{
           width: 260px;
height: 320px;
position: absolute;
z-index: 1;
box-shadow: 0 0 1px rgba(0,0,0,01);
}

       .photo .side {
           width:100%;
height: 100%;
background-color: #eeeeee;
position: absolute;
top:0;
right:0;
padding: 20px;

box-sizing: border-box;/*内容和padding都会在边框之内呈现*/
}
       .photo .side-front{}
       .photo .side-front .image{
           width: 100%;
height:250px;
line-height: 250px;
overflow: hidden;
}
       .photo .side-front .image img {
           width:100%;
}
       .photo .side-front .caption{
           text-align: center;
font-size: 16px;
line-height: 50px;
}

       .photo .side-back{}
       .photo .side-back .desc{
           color: black;
font-size: 14px;
line-height: 1.5em;
}

       /*当前选中的海报样式*/
.photo_center{
           left:50%;
top: 50%;
margin: -160px 0 0 -130px;
z-index: 999;/*显示透明度,不会被其他的样式遮挡*/
}
       /*负责翻转*/
.photo-wrap{
           position: absolute;
width: 100%;
height: 100%;

-webkit-transform-style: preserve-3d;/*支持子元素的3D效果*/
-webkit-transition: all .6s;
}
       .photo-wrap .side-front{
           -webkit-transform: rotateY(180deg);/*定义位移以及沿着Y轴旋转*/
}
       .photo-wrap. side-back{
           -webkit-transform: rotateY(0deg);
}
       .photo-wrap.side{
           -webkit-backface-visibility: hidden;/*当元素不面向屏幕时隐藏*/
}

       .photo_front .photo-wrap{
           -webkit-transform: rotateY(180deg);
}
       .photo_back .photo-wrap{
           -webkit-transform: rotateY(0deg);
}
   </style>
</head>
<body onselectstart="return false;">

<!--2.改写视图,为模板字符串-->
<div class="wrap" id = "wrap">

   <div class="photo photo_center photo_front" onclick="turn(this)"
id = "photo_{{index}}">
<!--photo-wrap负责翻转,photo负责平移和旋转-->
<div class="photo-wrap">
           <div class="side side-front">
               <p class="image"><img src="../img/{{img}}" ></p>
               <p class="caption">{{caption}}</p>
           </div>
           <div class="side side-back">
               <p class="desc">{{desc}}</p>
           </div>
       </div>
   </div>
</div>

<script type="text/javascript" src="js/data.js"></script>
<script type="text/javascript">

//3.通用函数
function g(selector){
       var method=selector.substr(0,1)=="."?"getElementsByClassName":"getElementById";
return document[method](selector.substr(1));
}

   //随机生成一个值0~20,支持取值范围,ranom([min,max]);
//    function random(range) {
//        var max = Math.max(range[0],range[1]);
//        var min = Math.max(range[0],range[1]);
//
//        var diff = max - min;//差值,[1,6] =>5(0~5)
//
//        var number = Math.ceil(Math.random() *diff +min);//取整
//        return number;
//    }

   //4.输出所有的海报
var data = data;
function addPhotos() {
       var template=g("#warp").innerHTML.replace(/^\s*/,"").replace(/\s*$/,"");
var html = [];
// var nav = [];
for(s in data){//for(var s = 0; s<data.length; s++
var _html = template
               .replace('{{index}}',s)
               .replace('{{img}}',data[s].img)
               .replace('{{caption}}',data[s].caption)
               .replace('{{desc}}',data[s].desc);
html.push(_html);
//nav.push('<span id="nav_'+s+'" onclick="turn(g(\'#photo_'+s+'\'))">&nbsp;</span>');
}
       //html.push('<div>'+nav.join("")+'</div>');
g('#wrap').innerHTML = html.join('');
//resort(random([0,data.length-1]));
}
   addPhotos();

//5.排序海报
//    function resort(n) {
//        var photo_center = g('#photo_'+n);
//        photo_center.className += 'photo_center';
//
//    }

   //1.翻面控制
function turn(elem) {
       var cls = elem.className;
if(/photo_front/.test(cls)){
           cls = cls.replace(/photo_front/,'photo_back')
       }
       else {
           cls = cls.replace(/photo_back/,'photo_front')
       }
       return elem.className = cls;
}
</script>

</body>
</html>


根据视频到这一步应该就可以显示出来图片,但是我的没有显示只能翻转。报错变成了如下:

GET http://localhost:63342/%E6%85%95%E8%AF%BE%E7%BD%91htmlcss/img/%7B%7Bimg%7D%7D 404 (Not Found)

data.js:51 1  仙人掌.jpg

data.js:51 2  熊童子<br> <br>肉肉名称:熊熊<br>肉肉生日:2016.5.21<br>肉肉简介:原产南美草原的仙人掌科(Cactaceae)Notocactus属植物,<br>仙人球属(金琥属Echinocactus),</br>有象牙金琥(E.grusonii)、大金琥(E.ingens)等25种。<br>株形小,圆球状到椭圆柱状,常盆栽观赏。.jpg

data.js:51 3  玉露.jpg

data.js:51 4  黄丽.jpg

index.html?_ijt=iqpcaamccvg7oc5uijj4saqr25:153 Uncaught TypeError: Cannot read property 'innerHTML' of null

    at addPhotos (index.html?_ijt=iqpcaamccvg7oc5uijj4saqr25:153)

    at index.html?_ijt=iqpcaamccvg7oc5uijj4saqr25:169

addPhotos @ index.html?_ijt=iqpcaamccvg7oc5uijj4saqr25:153

(anonymous) @ index.html?_ijt=iqpcaamccvg7oc5uijj4saqr25:169


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

只能实现到页面翻转那里,输出海报就不可以了,报错如下

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信