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


Автор: mkuint 23.10.2005, 21:36
как сделать бегущую строку внизу окна ИЕ, где строка загрузки? или чё-нить написать там. Подскажите плиз...

Автор: PARROT 23.10.2005, 21:49
Код

<html>
<body onLoad="window.defaultStatus='Привет Вася!'">
Привет Вася! 
</body>
</html>

Автор: Str!pe 24.10.2005, 10:36
смотри http://fantasyflash.narod.ru/index.htm там много чего и это в том числе

Автор: Payne 24.10.2005, 12:52
Для этого служит свойство status объекта window. Т.е., к примеру, можно написать так:

Код

<p onmouseover="window.status='Вы навели курсор мыши на абзац'">Пример</p>

Тогда при наведении курсора мыши на этот абзац надпись в строке состояния изменится.
Чтобы сделать бегущую строку, нужно написать соответствующий скрипт, используя таймер - он будет динамически менять надпись в строке состояния. Скрипт должен будет формировать строку для вывода, а таймер просто задавать интервал, через который будет повторяться действие.

Автор: merfi 24.10.2005, 12:52
Проверил Кстати Ничего там не едет Просто В левом углу написано привет Вася А хочется что бы перемещалось справп налево

Автор: Payne 25.10.2005, 11:43
Предлагаю следующий скрипт для строки состояния:

Код

  <script language="JavaScript">
  <!-- hide
    //выбор текста для прокрутки
    var scrtxt = "Это JavaScript! " + "Это JavaScript! " + "Это JavaScript!";
    var len = scrtxt.length;;
    var width = 100;
    var pos = -(width + 2);

    function scroll()
    {
        //напечатать заданный текст справа и установить таймер
        //перейти на исходную позицию для следующего шага
        pos++;

        //вычленить видимую часть текста
        var scroller = "";
        if (pos == len)
        {
            pos = -(width + 2);
        }
        //если текст еще не дошел до левой границы, то мы должны
        //добавить перед ним несколько пробелов. В противном случае мы должны
        //вырезать начало текста (ту часть, что уже ушла за левую границу
        if (pos < 0)
        {
            for (var i = 1; i <= Math.abs(pos); i++)
            {
                scroller = scroller + " ";
            }
            scroller = scroller + scrtxt.substring(0, width - i + 1);
        }
        else
        {
            scroller = scroller + scrtxt.substring(pos, width + pos);
        }
        
        //разместить текст в строке состояния
        window.status = scroller;
            
        //вызвать эту функцию вновь через 150 миллисекунд
        setTimeout("scroll()", 150);
        }
    // -->
    </script>


Если бегущая строка нужна не в строке состояния, а где-нибудь в теле документа, можно использовать тег marquee, который, правда, поддерживается не всеми браузерами. Можно использовать и скрипт, приведенный выше. Но для этого нужно определить элемент, в котором будет "бежать" строка, например:

Код

<p id="scrollline"></p>

И вместо строки window.status = scroller; в скрипте написать scrollline.innerText = scroller.
Но JavaScript тоже полностью поддерживается не всеми браузерами... Так что я призываю вас юзать IE smile .

З.Ы. Для того, чтобы бегущая строка появлялась после загрузки страницы, не забудь событию onLoad тега body присвоить имя функции:

Код

<body onLoad="scroll()">

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