jQuery - 使用<ul> <li> </li> </ul>标记在一列中列出Flickr照片

时间:2015-04-27 23:34:25

标签: jquery html flickr

我有以下代码......

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Flickr</title>
    <meta name="viewport" content="width=device-width, initial-scale=1"/>
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css"/>
    <script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $('#photoform').submit(function () {
                var keyword = $('#keyword').val();

                $('#photolist').html('Please wait...');
                $.getJSON('http://api.flickr.com/services/feeds/photos_public.gne?tags=' + keyword + '&format=json&jsoncallback=?',
                    function (data) {
                        $('#photolist').empty();
                        $.each(data.items, function (index, item) {
                            $('#photolist').append('<li><img src="' + item.media.m + '" align="left"/></li><br />');
                        });
                    }
                );

                return false;
            });
        });
    </script>

    <style type="text/css">
        #photos {
            margin-top: 20px;
        }
        #photos img {
            height: 200px;
            width: 250px;
            margin-right: 10px;
            margin-bottom: 10px;
        }
    </style>
</head>
<body>
    <div data-role="page" id="photos">
        <form method="get" name="photoform" id="photoform">
            Keyword: <input type="text" name="keyword" id="keyword" value="" /><input type="submit" name="findphoto" id="findphoto" value="Find" />

            <ul data-role="listview" data-filter="false" id="photolist"></ul>
        </form>
    </div>
</body>
</html>

我想使用

将Flickr API照片显示在一列中
<ul><li></li></ul>

标记。有关示例,请参阅代码中的$ .getJSON。但是当我运行它时,它不会在一列中吐出照片。它将它们分成5列。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我在这里查看您的部分代码:

$('#photolist').append('<li><img src="' + item.media.m + '" align="left"/></li><br />');

这表明图像将一个显示在另一个之上。如果是这种情况并且您对此不满意,则应该建议您将图像放在一行中。

如果确实如此,您应该将上面的行更改为下面的行:

$('#photolist').append('<li><img src="' + item.media.m + '" align="left"/></li>');

还在样式表声明中添加以下内容:

ul#photolist li{
width: 20%;
display: inline-block;
}