javascript在IE 9和Firefox中不起作用

javascript在IE 9和Firefox中不起作用,javascript,jquery,html,css,jquery-animate,Javascript,Jquery,Html,Css,Jquery Animate,各位议员: 最近我处于进退两难的境地。下面提供的代码相当长,但是,对于每3个标记为(General、Kills和Score)的主容器,大多数代码都是重复的 我写的javascript与jQuery1.9.1不谋而合——滑块不能滑动——它在Chrome中工作得很好,但由于某些原因,在IE.9和Firefox中都不能工作……我已经无数次地修改了它,但没有看到任何关于它为什么不能在那些浏览器中工作的问题。如果您能仔细查看并提供我在javascript中出错的地方或地方,我将非常感谢,因为我认为这会让你

各位议员:

最近我处于进退两难的境地。下面提供的代码相当长,但是,对于每3个标记为(General、Kills和Score)的主容器,大多数代码都是重复的

我写的javascript与jQuery1.9.1不谋而合——滑块不能滑动——它在Chrome中工作得很好,但由于某些原因,在IE.9和Firefox中都不能工作……我已经无数次地修改了它,但没有看到任何关于它为什么不能在那些浏览器中工作的问题。如果您能仔细查看并提供我在javascript中出错的地方或地方,我将非常感谢,因为我认为这会让你们更容易发现问题,因为这对你们来说是新鲜的

演示:

JAVASCRIPT:

/* ===== Start of 'Slider - My Statistics (Achievements - General)' ===== */
$(function () {
    $('input.field').focus(function () {
        if (this.title == this.value) {
            this.value = '';
        }
    }).blur(function () {
        if (this.value === '') {
            this.value = this.title;
        }
    });
    var currentPage = 1;
    $('#slider_achievements_general .buttons_achievements_general span').on('click', function () {
        var timeout = setTimeout(function () {
            $("img").trigger("slidermove");
        }, 100);
        var fragments_count = $(this).parents('#slider_achievements_general:eq(0)').find('.fragment_achievements_general').length;
        var fragment_width = $(this).parents('#slider_achievements_general:eq(0)').find('.fragment_achievements_general').width();
        var perPage = 1;
        var numPages = Math.ceil(fragments_count / perPage);
        var stepMove = fragment_width * perPage;
        var container = $(this).parents('#slider_achievements_general:eq(0)').find('.con_achievements_general');
        var firstPosition = 0;
        var lastPosition = -((numPages - 1) * stepMove);
        if ($(this).hasClass('next')) {
            currentPage++;
            if (currentPage > numPages) {
                currentPage = 1;
                container.animate({
                    'left': firstPosition
                });
                return;
            }
            container.animate({
                'left': -((currentPage - 1) * stepMove)
            });
        }
        if ($(this).hasClass('prev')) {
            currentPage--;
            if (currentPage < 1) {
                currentPage = numPages;
                container.animate({
                    'left': lastPosition
                });
                return;
            }
            container.animate({
                'left': -((currentPage - 1) * stepMove)
            });
        }
    });
});

/* ===== Start of 'Slider - My Statistics (Achievements - Kills)' ===== */
$(function () {
    $('input.field').focus(function () {
        if (this.title == this.value) {
            this.value = '';
        }
    }).blur(function () {
        if (this.value === '') {
            this.value = this.title;
        }
    });
    var currentPage = 1;
    $('#slider_achievements_kills .buttons_achievements_kills span').on('click', function () {
        var timeout = setTimeout(function () {
            $("img").trigger("slidermove");
        }, 100);
        var fragments_count = $(this).parents('#slider_achievements_kills:eq(0)').find('.fragment_achievements_kills').length;
        var fragment_width = $(this).parents('#slider_achievements_kills:eq(0)').find('.fragment_achievements_kills').width();
        var perPage = 1;
        var numPages = Math.ceil(fragments_count / perPage);
        var stepMove = fragment_width * perPage;
        var container = $(this).parents('#slider_achievements_kills:eq(0)').find('.con_achievements_kills');
        var firstPosition = 0;
        var lastPosition = -((numPages - 1) * stepMove);
        if ($(this).hasClass('next')) {
            currentPage++;
            if (currentPage > numPages) {
                currentPage = 1;
                container.animate({
                    'left': firstPosition
                });
                return;
            }
            container.animate({
                'left': -((currentPage - 1) * stepMove)
            });
        }
        if ($(this).hasClass('prev')) {
            currentPage--;
            if (currentPage < 1) {
                currentPage = numPages;
                container.animate({
                    'left': lastPosition
                });
                return;
            }
            container.animate({
                'left': -((currentPage - 1) * stepMove)
            });
        }
    });
});

/* ===== Start of 'Slider - My Statistics (Achievements - Scores)' ===== */
$(function () {
    $('input.field').focus(function () {
        if (this.title == this.value) {
            this.value = '';
        }
    }).blur(function () {
        if (this.value === '') {
            this.value = this.title;
        }
    });
    var currentPage = 1;
    $('#slider_achievements_scores .buttons_achievements_scores span').on('click', function () {
        var timeout = setTimeout(function () {
            $("img").trigger("slidermove");
        }, 100);
        var fragments_count = $(this).parents('#slider_achievements_scores:eq(0)').find('.fragment_achievements_scores').length;
        var fragment_width = $(this).parents('#slider_achievements_scores:eq(0)').find('.fragment_achievements_scores').width();
        var perPage = 1;
        var numPages = Math.ceil(fragments_count / perPage);
        var stepMove = fragment_width * perPage;
        var container = $(this).parents('#slider_achievements_scores:eq(0)').find('.con_achievements_scores');
        var firstPosition = 0;
        var lastPosition = -((numPages - 1) * stepMove);
        if ($(this).hasClass('next')) {
            currentPage++;
            if (currentPage > numPages) {
                currentPage = 1;
                container.animate({
                    'left': firstPosition
                });
                return;
            }
            container.animate({
                'left': -((currentPage - 1) * stepMove)
            });
        }
        if ($(this).hasClass('prev')) {
            currentPage--;
            if (currentPage < 1) {
                currentPage = numPages;
                container.animate({
                    'left': lastPosition
                });
                return;
            }
            container.animate({
                'left': -((currentPage - 1) * stepMove)
            });
        }
    });
});
HTML:


一般的
»  «
嗨

世界

杀死 » « 你好

世界

分数 » « 新的

滑块


我相信我可能有办法解决这个问题。最后,我在另一个脚本中将上述代码添加到我的站点,以查看问题所在,并认为这可能是您遇到的问题所在,即它在FF或IE中不起作用的地方-正如我过去也遇到过的一样,我确信一旦实现了您的上述代码,它也会做同样的事情

如果有多个js页面位于不同的文件夹/目录中,请检查html页面如何引用javascript页面

例如,请执行以下操作:

<script type="text/javascript" src="/js/JQuery/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="js/Your_Script.js"></script>
<script type="text/javascript" src="/js/My_Script.js"></script>

与此相反:

<script type="text/javascript" src="/js/JQuery/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="/js/My_Script.js"></script>
<script type="text/javascript" src="js/Your_Script.js"></script>

如果您的站点上有多个使用JS的文件夹/目录,则需要确保您正在处理的任何页面都可以首先检查您正在处理的页面的JS脚本,而不是在其他文件夹/目录中使用的任何其他JS脚本。因此,如果您使用上面我提供的第一个示例,那么它在所有浏览器中都应该可以正常工作。这件事发生在几个月前,我花了很长时间才弄清楚到底发生了什么

您希望确保您正在使用的任何jquery都已编写并首先在所有html页面上被引用,然后您可能拥有的任何js脚本都应该遵循这一点,但请确保它们在您正在处理的任何html页面上的顺序正确

设置示例:

主目录:

-->css文件夹

------->您的_css_Script.css

-->图像文件夹

-->js文件夹(位于您拥有的“js文件夹”中:)

------->您的_js_Script.js

------->JQuery文件夹

------------>jquery-1.9.1.min.js

-->index.html

-->另一个文件夹-(在您拥有的“另一个文件夹”中:)

------->css文件夹

------------>您的_css2_Script.css

------->图像文件夹

------->js文件夹

------------>您的_js2_Script.js

------->index2.html

我为上面糟糕的图表道歉,但希望这能帮助您理解结构。因此,如果您正在处理index2.html,以及您的_js2_Script.js,但还需要参考您的_js_Script.js以及index2.html上的jquery脚本,那么您需要参考index2.html页面上的这些脚本,如下所示:

<script type="text/javascript" src="/js/JQuery/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="js/Your_js2_Script.js"></script>
<script type="text/javascript" src="/js/Your_js_Script.js"></script>


顺便说一句,你的设置看起来很巧妙!我希望我所提供的能有所帮助。

我相信我可能有办法解决这个问题。最后,我在另一个脚本中将上述代码添加到我的站点,以查看问题所在,并认为这可能是您遇到的问题所在,即它在FF或IE中不起作用的地方-正如我过去也遇到过的一样,我确信一旦实现了您的上述代码,它也会做同样的事情

如果有多个js页面位于不同的文件夹/目录中,请检查html页面如何引用javascript页面

例如,请执行以下操作:

<script type="text/javascript" src="/js/JQuery/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="js/Your_Script.js"></script>
<script type="text/javascript" src="/js/My_Script.js"></script>

与此相反:

<script type="text/javascript" src="/js/JQuery/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="/js/My_Script.js"></script>
<script type="text/javascript" src="js/Your_Script.js"></script>

如果您的站点上有多个使用JS的文件夹/目录,则需要确保您正在处理的任何页面都可以首先检查您正在处理的页面的JS脚本,而不是在其他文件夹/目录中使用的任何其他JS脚本。因此,如果您使用上面我提供的第一个示例,那么它在所有浏览器中都应该可以正常工作。这件事发生在几个月前,我花了很长时间才弄清楚到底发生了什么

您希望确保您正在使用的任何jquery都已编写并首先在所有html页面上被引用,然后您可能拥有的任何js脚本都应该遵循这一点,但请确保它们在您正在处理的任何html页面上的顺序正确

设置示例:

主目录:

-->css文件夹

------->您的_css_Script.css

-->图像文件夹

-->js文件夹(位于您拥有的“js文件夹”中:)

------->您的_js_Script.js

------->JQuery文件夹

------------>jquery-1.9.1.min.js

-->index.html

-->另一个文件夹-(在您拥有的“另一个文件夹”中:)

------->css文件夹

------------>你的