Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.03.2012, 08:19
Интересующийся
Отправить личное сообщение для serg_29rus Посмотреть профиль Найти все сообщения от serg_29rus
 
Регистрация: 07.11.2010
Сообщений: 12

Тормозит карусель
вообщем мне нужно сделать так, чтобы блок Div начинал сколлиться, если указатель мыши приближается к его левой или правой границе ближе чем на 50 пикселов. Я нашел такое решение:
<html>

<head>
    <title>Div Scrolling</title>
    <style type="text/css">
        #mydiv{
            width: 200px;
            background-color: red;
            overflow-x: hidden;
        }
    </style>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript">
        var timer;
        function leftScroll(){
            document.getElementById("mydiv").scrollLeft -= 1;
        }
        function rightScroll(){
            document.getElementById("mydiv").scrollLeft += 1;
        }
        function horizontalScroll(evt){
            clearInterval(timer);
            var pos = $("#mydiv").position();
            if(evt.pageX < pos['left'] + 50){
               timer = setInterval(leftScroll, 10);
           }
           if(evt.pageX > pos['left'] + $("#mydiv").width() - 50){
                timer = setInterval(rightScroll, 10);
            }
        }
        $(document).ready(function(){
            $("#mydiv").bind("mouseover", function(){
                $("#mydiv").bind("mousemove", horizontalScroll);
            });
            $("#mydiv").bind("mouseout", function(){
                clearInterval(timer);
                $("#mydiv").unbind("mousemove", horizontalScroll);
            });
        });
    </script>
</head>

<body>
    <div id="mydiv">
        aaaaaaaaaaaaaaaaaaaafffffffffffffffffffffffffffffffaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaffffffffffffffffffffffffffffffff
</body>

</html>


Но оно очень сильно тормозит. setInterval выставлен на 10 милисикунд, а он тормозит. Помогите исправить тормоза.

Последний раз редактировалось serg_29rus, 26.03.2012 в 08:22.
Ответить с цитированием
  #2 (permalink)  
Старый 26.03.2012, 11:12
Аспирант
Отправить личное сообщение для atlantis Посмотреть профиль Найти все сообщения от atlantis
 
Регистрация: 18.03.2012
Сообщений: 95

Хм.. Не знаю как у Вас, но по моему Ваш скрипт работает нормально, не тормозит.
http://jsfiddle.net/wxY4s/
Возможно у Вас затормаживает этот скрипт выполнение какого-либо другого скрипта(ов).
Ответить с цитированием
  #3 (permalink)  
Старый 26.03.2012, 23:08
Интересующийся
Отправить личное сообщение для serg_29rus Посмотреть профиль Найти все сообщения от serg_29rus
 
Регистрация: 07.11.2010
Сообщений: 12

Уберите строчку:
clearInterval(timer);

и увидите, как не тормозит
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Карусель для фотогалереи Nanto Элементы интерфейса 27 17.03.2012 06:29
Помогите найти нужную карусель. prowoke Общие вопросы Javascript 7 21.07.2011 22:28
Подскажите карусель, которая работает без какого либо фреймворка Khmelevsky Библиотеки/Тулкиты/Фреймворки 2 25.04.2010 12:45
JavaScript на Яндекс.Фотки - почему тормозит браузеры? ZavFirefox Javascript под браузер 23 27.09.2009 19:24
тормозит в IE olgatcpip Internet Explorer 6 08.07.2009 01:29