IE7和IE8中的Javascript

时间:2011-10-21 13:24:58

标签: javascript jquery internet-explorer jquery-ui

我的主页上有两个滑块,一个是使用插件(AnythingSlider),另一个是使用jQuery UI(jquery-ui-1.8.9.custom.min.js)。将AnythingSlider添加到页面后,第二个滑块上的悬停功能在IE7和IE8中停止工作。这是悬停功能的代码:

        st = null;
        $('.homepage-leftscroller').hover(function() {
           slideleft();
           st = setInterval(slideleft, 200);
        }, function() {
           clearInterval(st);
        });

以下是slideleft功能的代码:

        function slideleft() {
            v = s.slider('option', 'value');
            if (v > 0)
                v -= 50;
            ui.value = v;
            s.slider('option', 'value', v);
            f = s.slider('option', 'slide');
            f(null,ui);
        }

我没有创建第二个滑块,我确实添加了第一个滑块。有问题的页面在这里:

http://rareculture.net/index.php

感谢您提供的任何帮助。谢谢。

P.S。 包含悬停功能的代码块如下所示:

    $(function() {
        slider = $('.artist-homepage-slider .artist-wrapper');

而AnythingSlider代码块的开头如下:

    $(function(){
        $('#slider')

这可能是问题吗?为什么它只会在IE7和IE8中断?

1 个答案:

答案 0 :(得分:1)

我无法判断这是否与您的问题有关,但以下语句将值分配给 global (或至少从更广泛的范围),而不是 local < / em>,变量。如果您在这些前面添加var,它们将成为声明,并且它们将在本地声明

st = null;

v = s.slider('option', 'value');

f = s.slider('option', 'slide');

jslint可以检测到类似的问题。