仅在加载时使用图像加载div

时间:2012-12-14 16:00:24

标签: jquery image load

我只想在加载图片时加载图片。

这不起作用,因为在加载图像之前删除了“隐藏”类:

$(function(){
$('#nowplaying').load('nowplaying.php', function() {
    $('#images').removeClass('hidden');
}
)});

我该怎么办?

编辑:这是我的代码:

在index.php中我有:

<script type="text/javascript">
$(function(){
$('#nowplaying').load('nowplaying.php');
});
var auto_refresh = setInterval(
function ()
{
$('#nowplaying').load('nowplaying.php').fadeIn("slow");
}, 10000); // refresh every 10000 milliseconds
</script>

在nowplaying.php中我有这个div:

echo "<div id="images">;
foreach ($jpg_files as $file) {
if (file_exists($cover_path."\\\\".$file) && $file!="f.jpg") {
$file = urlencode($file);
echo "<a href=\"getimage.php?img=".$file."\" target=\"_blank\">
<img src=\"getimage.php?img=".$file."&p=".$cover_path."\" /></a>";
echo "&nbsp;&nbsp;&nbsp;&nbsp;";
}
echo "</div>;

我只想在加载时显示div id #images的图像(我不希望用户在浏览器中看到图片制作)。

怎么做?

有人可以发送一个简单的waitForImages示例吗? 它对我来说根本不起作用。

编辑12-12-15: 这是有效的:

<img style="display:none;" src="big3.jpg">
<script type="text/javascript">
$('img').load(function(){
    $(this).css({'display':'block'})
});
</script>

但这不起作用,为什么? :

<div style="display:none;">
    <img src="big3.jpg">
</div>
<script type="text/javascript">
$('div').load(function(){
    $(this).css({'display':'block'})
});
</script>

仍然不知道为什么。但是如果img具有正常的src,这是有效的: 在div下面:

<script type="text/javascript">
$(document).ready(function(){
$("div.images").hide();
$("div.images").find("img").load(function(){
$(this).closest("div.images").show();
});
});
</script>

现在这是我的大问题: 我的图片src正在调用脚本:

<img src=\"getimage.php?img=".$file."\" />";

我如何才能使用它?

3 个答案:

答案 0 :(得分:1)

它能解决你的问题吗?

$('#images').load(function(){
    $(this).removeClass('hidden');
});

答案 1 :(得分:1)

$('img').load()不可靠,不能跨浏览器工作。 我会使用像waitForImages这样的东西:https://github.com/alexanderdickson/waitForImages

答案 2 :(得分:0)

也许你需要我的插件 - http://archive.plugins.jquery.com/project/BatchImagesLoad

然后你可以在加载所有图像后进行操作。

相关问题