Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > помогите разобраться с решением для бегущей строки


Автор: Anna87 22.9.2012, 15:00
Доброго времени суток, нашла интересный пример для создания бегущей строки, где текст сразу появлятся с обратного края не дожидаясь пока вся строка проползет. Пытаюсь к нему к нему добавит два события: чтобы при наведение мыши строка останавливалась, а при снятии наведения продолжалась анимация с того же места. 
Код

<div id="marquee">
              My Text My Text My Text My Text My Text My Text My Text
  </div>
 

Код

$(function() {

    var marquee = $("#marquee"); 
    marquee.css({"overflow": "hidden", "width": "100%"});
    marquee.wrapInner("<span>");
    marquee.find("span").css({ "width": "50%", "display": "inline-block", "text-align":"center" }); 
    marquee.append(marquee.find("span").clone()); 

    marquee.wrapInner("<div>");
    marquee.find("div").css("width", "200%");
    

    var reset = function() {
        $(this).css("margin-left", "0%");
        $(this).animate({ "margin-left": "-100%" }, 6000, 'linear', reset).mouseover( function() {$(this).stop();}).mouseout( function() {
            $(this).animate({ "margin-left": "-100%" }, 6000, 'linear', reset)
            })
    };

    reset.call(marquee.find("div"));

});


Но при ухода курсора с объекта, строка бежит медленнее, вы бы не могли мне подсказать каким образом оставить туже скорость пробега строки ? 
Заранее спасибо

Автор: Aliance 24.9.2012, 10:21
Думаю, что нужно не вызывать $(this).stop(); а затем заного создавать анимацию, а играться с очередями (queue / dequeue).

А вообще бегущая строка это зло!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)