Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.04.2016, 18:26
Аспирант
Отправить личное сообщение для Georgian Посмотреть профиль Найти все сообщения от Georgian
 
Регистрация: 01.03.2015
Сообщений: 49

Как сделать несколько бегущих строк?
Ребят нужно сделать обычную бегущую строку, состоящую из нескольких сообщений.

Например:
1) Добро пожаловать на сайт!
2) Для скачивания файлов нужно зарегистрироваться!
3) Если у вас возникнут вопросы пишите Администратору!

В общем. Нужно чтобы сперва первое сообщение пробежало до конца, а затем второе и т.д

Обычный Тег <marquee> позволяет выполнить сценарий одного сообщения под разными методами отображения. А вот как сделать так чтобы сообщений было несколько. Чтобы они показывались по очереди. По истечению определенного времени.
Ответить с цитированием
  #2 (permalink)  
Старый 19.04.2016, 21:03
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Самое простое сделать одну бегущую строку, разделив фразу нужным пробелом из тонкой прозрачной картинки (очевидно их будет две)
Размер картинки подобрать чтобы следующая фраза начиналась якобы с начала <marquee>. Можно подбирать c помощью width="XXX" в прозрачке
Высоту задать постоянную height="12"
Ответить с цитированием
  #3 (permalink)  
Старый 19.04.2016, 21:27
Аспирант
Отправить личное сообщение для Georgian Посмотреть профиль Найти все сообщения от Georgian
 
Регистрация: 01.03.2015
Сообщений: 49

а существуют ли нестандартные решения с помощью скриптов? нужно сделать чтобы в нужном месте красиво сменялись сообщения. одна за другой.
Ответить с цитированием
  #4 (permalink)  
Старый 20.04.2016, 01:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

infoToggle смена текста
Georgian,
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8"><style type="text/css">
.info{
  margin: 10px auto;
  overflow: hidden;
  border: 2px solid #FF00FF;
  transition: all .8s ease-out;
  padding: 2px 4px;
}
.info span{
  display:  inline-block;
  white-space: nowrap;
}

</style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
$.fn.infoToggle = function(d) {
    var a = $.extend(!0, {
        spide: 5000,
        pause: 3000,
        text: ["test"]
    }, d);
    return this.each(function(d, e) {
        var b = $("<span/>").appendTo(e),
            f = 0;
        (function g() {
            b.text(a.text[f++ % a.text.length]);
            var c = b.width();
            $(e).width(c);
            b.css({
                "margin-left": 2 * c
            }).animate({
                "margin-left": 0
            }, a.spide, function() {
                $(this).delay(a.pause).animate({
                    "margin-left": -(c + 10)
                }, a.spide, g)
            })
        })()
    })
};
$(function(){
$('.info').infoToggle({text:["Добро пожаловать на сайт!", "Для скачивания файлов нужно зарегистрироваться!","Если у вас возникнут вопросы пишите Администратору!"]});
});
  </script>
</head>

<body>
<div>
    <p class="info"></p>

</div>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 20.04.2016, 10:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

infoToggle random text
Georgian,
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8"><style type="text/css">
.info{
  margin: 10px auto;
  overflow: hidden;
  border: 2px solid #FF00FF;
  transition: all .8s ease-out;
  padding: 2px 4px;
}
.info span{
  display:  inline-block;
  white-space: nowrap;
}
h2{
   text-align: center;
}

</style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
$.fn.infoToggle = function(d) {
    var a = $.extend(!0, {
        spide: 5000,
        pause: 3000,
        text: ["test"],
        rand: true
    }, d);
    return this.each(function(d, e) {
        var b = $("<span/>").appendTo(e),
            f = 0;
        (function g() {
            b.text(a.text[f]);
            f = a.rand ?  Math.random()*a.text.length|0 : ++f % a.text.length;
            var c = b.width();
            $(e).width(c);
            b.css({
                "margin-left": 2 * c
            }).animate({
                "margin-left": 0
            }, a.spide, function() {
                $(this).delay(a.pause).animate({
                    "margin-left": -(c + 10)
                }, a.spide, g)
            })
        })()
    })
};
$(function(){
$('.up').infoToggle({text:["Добро пожаловать на сайт!", "Для скачивания файлов нужно зарегистрироваться!","Если у вас возникнут вопросы пишите Администратору!"],rand: false});
$('.dn').infoToggle({text:["Добро пожаловать на сайт!", "Для скачивания файлов нужно зарегистрироваться!","Если у вас возникнут вопросы пишите Администратору!"], pause : 5000});
});
  </script>
</head>

<body>
<div>
    <h2>cycle</h2>
    <p class="info up"></p>
    <h2>random</h2>
    <p class="info dn"></p>
</div>
</body>
</html>

Последний раз редактировалось рони, 20.04.2016 в 10:35.
Ответить с цитированием
  #6 (permalink)  
Старый 21.04.2016, 22:37
Аспирант
Отправить личное сообщение для NeoN Посмотреть профиль Найти все сообщения от NeoN
 
Регистрация: 01.03.2013
Сообщений: 77

как вариант

<script language="javascript">
function marqueeEvent(){
	
	var list = ["Для скачивания файлов нужно зарегистрироваться!",	"Если у вас возникнут вопросы пишите Администратору!","Добро пожаловать на сайт!"];
	if(++marqueeEvent.count == list.length) marqueeEvent.count=0;
	document.getElementById('marquee').innerHTML = list[marqueeEvent.count];
	document.getElementById('marquee').start();
	
	
}
marqueeEvent.count = -1;
</script>
<marquee id='marquee' onFinish="marqueeEvent()" loop="1"> Добро пожаловать на сайт! </marquee>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать чтобы в popup окне показывалось картинка? sarik Общие вопросы Javascript 31 15.03.2013 13:12
как сделать так чтобы в popup окне принимался css стили,? sarik Общие вопросы Javascript 2 12.03.2013 10:24
filter(this,this) как правильно сделать? Smip jQuery 5 23.02.2013 03:07
Как убрать hover? Либо как сделать стрелки статичными? krusty36 Элементы интерфейса 1 13.07.2011 09:20
Как сделать, чтобы при наведении на кнопку справа от нее появлялись текстовые ссылки? Tass Общие вопросы Javascript 7 17.02.2011 09:06