Javascript Переменная Конфликт - PullRequest
1 голос
/ 21 октября 2011

У меня есть два сценария на одной странице, оба запускают ползунки, и первый прерывает второй, а именно событие hover, только в IE7 и IE8. Мне интересно, есть ли конфликт между переменными между двумя сценариями. Вот первое:

<script type="text/javascript">
    $(function(){
        $('#slider')
            .anythingSlider({ 
                theme               : "minimalist-square",      
                expand              : false,                    
                resizeContents      : true,                     
                buildArrows         : true,                     
                buildNavigation     : true,                     
                toggleArrows        : true,                     
                autoPlay            : true                      
            });
    });
</script>

А вот часть второго скрипта, которая может вызывать ошибку?

<script type='text/javascript'>

    $(function() {
        slider = $('.artist-homepage-slider .artist-wrapper');
        handle = $('.homepage-slider .handle');
        //productwidth = 20;
        productwidth = 248;
        products = $('.artist-homepage-slider .product');
        productscount = products.length;
        images = products.find('img');
        productswidth = 0;
        .
                    .
                    .
                    . 

        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);
        }

        function slideright() {
            v = s.slider('option', 'value');
            if (v < fullWidth)
                v += 50;
            ui.value = v;
            s.slider('option', 'value', v);
            f = s.slider('option', 'slide');
            f(null,ui);
        }
    });

Может быть, объявление ползунка во втором скрипте вызывает проблему? В других файлах используются другие сценарии, может ли один из них вызвать проблему? В IE7 и IE8 появляется слайдер, просто функция скольжения не работает. В чем принципиальная разница между IE7 и 8 и остальными браузерами, которые могут вызывать такое поведение?

1 Ответ

0 голосов
/ 21 октября 2011

Я не вижу нигде объявленной переменной "s", но вы используете ее в функциях sliderRight и sliderLeft. Это работает в других браузерах?

Также у вас есть большинство ваших переменных, прикрепленных к глобальной области видимости, так как вы не объявляете их с помощью "var". Чтобы сузить область и, таким образом, уменьшить вероятность конфликта, используйте var для объявления ваших локальных переменных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...