canging jQuery让一些自定义小部件无法正常运行或根本无法运行

时间:2016-11-19 16:52:12

标签: javascript jquery

刚刚将jQuery从1.8.2更改为1.11.3,却发现我自己的一个脚本停止正常运行。更具体地说,只有animate正在运作,其他任何功能都在其中。

另外,有点奇怪的是,在页面加载类名outclose时添加了元素样式display:none;我不知道它在哪里设置,我假设jQuery自动吗?

这是我的jQuery:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js?ver=1.11.3" async></script>

这是我的HTML:

<div id="slideout">
<a class="out"></a>
<a class="close out"></a>
<a data-pin-do="embedPin" href="http://www.pinterest.com/pin/[my pin id]/"></a>
</div>

这是我的剧本:

    $(document).ready(function() {
    setTimeout(function() {
        $(function(obj) {
            var slideout = $("#slideout");
            var out = $(".outer");
            var close = $(".closer");

            slideout.animate({
                right: "-200px"
            }, 1000, function() {

            });

            out.click(function () {
                if(!$(this).hasClass('in')){
                $(this).addClass("in");
                slideout.animate({
                    right: "0px"
                }, {
                    queue: false,
                    duration: 500
                });
                }
            });

            out.click(function() {
                $(this).removeClass("in");
                slideout.animate({
                    right: "-200px"
                }, {
                    queue: false,
                    duration: 500
                });
            });

            close.click(function() {
                $(this).removeClass("outer");
                slideout.animate({
                    right: "-200px"
                }, {
                    queue: false,
                    duration: 1000
                });
                slideout.fadeOut({
                    duration: 1000
                });
            });
        });
    }, 4000);
});
    (function (d) {
        var f = d.getElementsByTagName('SCRIPT')[0],
            p = d.createElement('SCRIPT');
        p.type = 'text/javascript';
        p.async = true;
        p.src = '//assets.pinterest.com/js/pinit.js';
        f.parentNode.insertBefore(p, f);
    }(document));

感谢任何帮助

1 个答案:

答案 0 :(得分:1)

toggle(fn,fn)在1.8版中已弃用,在版本1.9中已删除。

您需要将其重构用于点击事件。使用hasClass()检查当前状态并做出相应的反应