0

我有一个这样的菜单:

<ul class="leve1">
    <li>
        <div class="some">
            <a href="images/image1.jpg">image1</a>
            <a href="images/image2.jpg">image2</a>
            <a href="images/image3.jpg">image3</a>
            ...
        </div>
    </li>
    ...
</ul>

我的 html 中的另一个位置也有一个 div

<div id="dest"></div>

我想单击链接并使图像出现在 div 中。我尝试了一些代码行,例如

$(document).ready(function () {
    $("div.some a").click(function (event) {
        event.preventDefault();
        $("div#dest").html($("<img>").attr("src", this.href).fadeIn(1000));
    });
});

但它什么也没做。div 保持空白。

我搜索了这些论坛,但找不到足够的答案。

更新

我也有一些 javascript 来使上面的菜单成为一个折叠菜单。这些指令(隐藏、显示和切换 - 一堆!)是否与此代码冲突?

4

1 回答 1

0

您在添加图像后立即调用fadeIn:如果图像加载时间过长怎么办?它显示在淡入淡出中间或淡入淡出结束后:jsfiddle.net/Xt5La/

您可以在图像上使用负载处理程序,请参阅此小提琴:jsfiddle.net/UNqJh/

var img = new Image();
img.onload = loaded;
img.src = url;

function loaded() { // load handler }

在旁注中,它还可以帮助查看图像是否实际加载。但更简单的是,你的控制台说什么?图像是否添加到 DOM 中?

于 2013-09-11T13:40:18.360 回答