如何在页面加载后加载图像?

时间:2011-11-09 09:36:24

标签: jquery

我有这段代码:

            <script type="text/javascript">
                $(document).ready(function(){
                    var id = 'i1';
                    var image = new Image();
                    image.src = 'http://url_to_my_image';
                    image.onload = function(){
                        $('#m' + id).attr('src',image.src);
                        $('#m' + id).show();
                    };
                  });

            </script>
            <ul style="list-style: none; margin: 0px; padding: 0px;">
                <li id="i1" style="display: inline;">
                    <div style="background-color: #bbb; width:768px;height:1024px;"><div style="margin-top:505px; margin-left: 370px; font-size: 24px; font-family: Arial, sans-serif; color: #333;">Load...</div></div>
                    <img src="" id="#mi1" style="display: hidden;" />
                </li>
            </ul>

但这不起作用。我希望显示所有带有文本“正在加载...”的空白页面,并在加载图像页面后将其插入相关的img元素。

对不起我糟糕的英语......

3 个答案:

答案 0 :(得分:2)

试试这个:

$("#m"+id).load("//your link");

您可以在api.jquery.com/load/

上阅读更多相关信息

答案 1 :(得分:1)

display: hidden元素设置的<img>应为display: none。另外,请记住,禁用JavaScript访问您网页的用户永远不会看到图片,只会看到永久加载邮件。您应该使用优雅降级的解决方案。

答案 2 :(得分:0)

选中此link

此插件在触发DOM加载事件和窗口加载事件后加载图像/后台URL。

最初,img标签的src属性将设置为空。并且html应该包含一个包含图像路径的数据属性。该插件将处理其余的事情。

加载图像后,将执行以下代码。所有这些都由插件处理

$('img').attr('src', < data URL with the img path > )