2

我看到其他人问过这个问题,但我找不到适合我的答案。我不久前发布了一个问题,有人给我发了这个 jsFiddle:http: //jsfiddle.net/r043v/LgXQX/1/

它完全符合我的需要,并且网站说它完全有效,但是当我将它粘贴到我的文档中时它不起作用。我读到了当你 c+p 时它会添加的额外不可见字符,所以我使用了 jslint,它说我已经摆脱了它们,但它仍然无法正常工作。

这是我页面中的代码(我从头开始,因为它第一次不起作用,所以我可以确定我的代码中没有其他东西把它搞砸了)

    <!DOCTYPE html>

<head>
 <link rel="stylesheet" href="style3.css">
<script type=”text/javascript” src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>

<script>
$("#issues > li").click(function () {
    var $img = $("#theimg");
    var $li = $(this);
    var newsrc = "";
    newsrc = $li.data("img");
    if (newsrc === undefined) newsrc = "issue" + $li.index() + ".jpg";

    var loadstep = 0;

    function endstep() { // end of preload or hide
        if (++loadstep === 2) // if the preload is done and hide too, change src and show picture
        $img.attr("src", newsrc).animate({
            opacity: 1
        });
    }

    // preload picture
    var $tmpimg = $("<img/>", {
        src: newsrc
    }).on("load", endstep);
    // hide container picture
    $img.animate({
        opacity: 0
    }, endstep);
    });
</script>

</head>

css 文件仅包含 jsFiddle 中的内容,并且正文是从小提琴中的 html 部分复制和粘贴的。任何见解将不胜感激!

4

1 回答 1

1

您需要在$(document).ready()处理程序中加载脚本。小提琴为你添加了它。因此它在那里工作。

$(document).ready(function () {
    $("#issues > li").click(function () {
        var $img = $("#theimg");
        var $li = $(this);
        var newsrc = "";
        newsrc = $li.data("img");
        if (newsrc === undefined) newsrc = "issue" + $li.index() + ".jpg";

        var loadstep = 0;

        function endstep() { // end of preload or hide
            if (++loadstep === 2) // if the preload is done and hide too, change src and show picture
            $img.attr("src", newsrc).animate({
                opacity: 1
            });
        }

        // preload picture
        var $tmpimg = $("<img/>", {
            src: newsrc
        }).on("load", endstep);
        // hide container picture
        $img.animate({
            opacity: 0
        }, endstep);
    });

});
于 2013-07-17T02:50:37.693 回答