无法使用js / jquery在chrome中加载图像

时间:2013-06-03 15:05:22

标签: jquery cross-browser

我已经创建了一个脚本,可以将一个数字序列的图像从dir加载到html页面上的网格中。

我使用js / jquery来做这个,它在firefox和safari中运行得非常好,但是不会在chrome中加载图像。

<!DOCTYPE html>

<meta charset="UTF-8">
<HTML>

<head>


<style>
body{
    margin:0;
}
div.gL{
    padding:8px;
    width:1008px;
    margin: 0 auto;
    background-color:white;
    height:1%;
    overflow:hidden;
}

div.gL ul li{
    width:320px;
    height:230px;
    margin:8px;
    padding:0;
    float:left;
}


.info{
    position:absolute;
    z-index:5000;
    margin:0;
    padding:0;
    width:320px;
    height:230px;
    background-color:rgba(255,255,255,0.9);
    display:none;
}

.list{
    list-style-type:none;
    margin:0;
    padding:0;
    position:relative;
    list-style-position:inherit;
}
.game{
    position:relative;
    z-index:0;
    padding:0;
    margin:0;
    overflow:hidden;
    text-align: center;
    }

div.info h2{
    font-family:sans-serif;
    padding:0;
    margin-top:32%;
}

img{
    text-align: center;
    min-height:100%;
    width:100%;
    position:relative;
    z-index:0;
    top:0;

}

</style>
</head>

<body>

<div class="gL">
    <ul class="list">
    </ul>    
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
        $(function(){
            $.fn.rollbounce = function(){
                $(this).animate({'top': '-=15px'},150).animate({'top': '+=15px'},100).animate({'top': '-=5px'},100).animate({'top': '+=5px'},100)
            }

            var 
                $list = $('ul.list'),
                $info = $('div.info'),
                $li = '<li class="game"></li>'

            for(var p=0; p <= 68; p++){
                if(p<10){
                    p = '00'+p;
                } else if(p<100){
                    p ='0'+p;
                }


                $list.append($.parseHTML($li))
                console.log('this is number'+p)
                $('.game:nth-child('+p+')').append("<img src=img/image_"+p+".jpg/>").prepend("<div class='info'><h2>This is game #"+p+"</h2></div>")

            };


            $game = $('.game')

            $game.on('mouseenter',function(){
                $(this).rollbounce()
                $(this).children('.info').fadeToggle(200)
            }).on('mouseleave',function(){
                $(this).children('.info').fadeToggle(200)
            })
        });
</script>

</body>
</HTML>

显然,它不会在小提琴中起作用,因为它没有可以合并的图像,但我希望有人能够正确地告诉它为什么不起作用,或者自己做一个快速测试并找出它。 / p>

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

尝试使用引号:

$('.game:nth-child('+p+')')
    .append("<img src='img/image_"+p+".jpg'/>")
    .prepend("<div class='info'><h2>This is game #"+p+"</h2></div>")

最后你的/>弄乱了网址。

工作小提琴 http://jsfiddle.net/techunter/PE2gm/4/

不工作小提琴 http://jsfiddle.net/techunter/PE2gm/3