1

首先,我对 jQuery 完全陌生(我更像是桌面应用程序开发人员)

我正在尝试构建我的第一个 jQuery 代码,它包含 3 个 DIV 之间的“滑动”过渡效果。

我不明白为什么它只适用于 Chrome,而不适用于 FF 或 IE。第一个和第二个都不想移动或隐藏。

对此的任何帮助将不胜感激,在此先感谢!

这是我当前的代码:

jQuery :

$(function () {

    var contentWidth = '-' + ($('.content').width() + 1000) + 'px';

    $('.content').css({
        position: 'absolute',
        left: contentWidth
    });    

    $('#ligne1')
        .animate({ left: 100 },"fast")
        .addClass('visible');

    $("a.temp").click(function () {
        event.preventDefault();
        var $blockID = $( $(this).attr('href') );
        if ($blockID.hasClass('visible')) { return; }
        $('.content.visible')
            .removeClass('visible')
            .animate( { left: $(window).width() }, function () {
                $(this).css('left', contentWidth);
            });
        $blockID
            .addClass('visible')
            .animate({ left: 100 }, 1000);
    });
});

这是我的 CSS :

.wrapper { position: relative;}
.content { width: 900px; height: 300px; padding: 0; left: 0; top: 0; }
.box { width: 900px; height: 300px; }
#ligne1 .box { background: green; }
#ligne2 .box { background: yellow; }
#ligne3 .box { background: red; }

最后是我的 HTML:

<a class="temp" href="#ligne1">One</a>
<a class="temp" href="#ligne2">Two</a>
<a class="temp" href="#ligne3">Three</a>
<div class="wrapper" style="style="position: absolute; left: 50%; ">
    <div id="ligne1" class="content">
        <div class="box"></div>
    </div>
    <div id="ligne2" class="content">
        <div class="box"></div>
    </div>
    <div id="ligne3" class="content">
        <div class="box"></div>
    </div>
</div>
4

1 回答 1

3

您需要将事件对象传递给您的点击处理程序:

$("a.temp").click(function (event) {...}

这是 FF 中 Firebug 控制台的错误:

ReferenceError:未定义事件

于 2013-05-23T14:24:14.263 回答