бегущая строка на jquery
здравствуйте
делаю бегущую строку. помогите всё это дело зациклить. срабатывает один раз. делаю клон и вызываю эту же функцию в колбеке. где неправильно? <div id="container"> <p class="string">Бегущая строка на JavaScript...</p> </div>
$(document).ready( function(){
var string = $(".string");
var cont = $("#container");
var con_w = cont.width();
var con_p_l = cont.css("padding-left");
var con_p_r = cont.css("padding-right");
var con_len = parseInt(con_w) + parseInt(con_p_l) + parseInt(con_p_r);
var str_lef = parseInt(string.css("left"));
var str_wdh = parseInt(string.width());
$(function run ()
{
string.animate(
{
position: "absolute",
left: con_len + 'px'
},
{
duration: 3000,
complete ()
{
string.clone()
.css("left", -str_wdh + 'px')
.appendTo("#container");
$(".string:first").remove();
run();
}
});
});
});
|
Цитата:
|
gazman,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
#container{
width: 300px;
position: relative;
overflow: hidden;
height: 50px;
}
.string{
width: 500px;
position: absolute;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
var string = $(".string");
var cont = $("#container");
var con_w = cont.width();
var con_p_l = cont.css("padding-left");
var con_p_r = cont.css("padding-right");
var con_len = parseInt(con_w) + parseInt(con_p_l) + parseInt(con_p_r);
var str_lef = parseInt(string.css("left"));
var str_wdh = parseInt(string.width());
(function run ()
{
string.animate(
{
left: con_len + 'px'
},
{
duration: 5000,
complete: function()
{
string.css("left", - con_len + 'px')
run();
}
});
})();
});
</script>
</head>
<body>
<div id="container">
<p class="string">Бегущая строка на JavaScript...</p>
</div>
</body>
</html>
|
спасибо. ваш вариант проще.
можно ли как-то динамически отследить перемещение строки? т.е. я хочу, чтобы как только строка коснётся правого борта, сразу начала появляться эта же строка слева. сейчас пока анимация не закончится строка не появляется. |
| Часовой пояс GMT +3, время: 02:01. |