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


Автор: Mebios 25.11.2004, 18:02
Подскажите пожалуйста, как сделать чтобы новости в определённой рамке прокручивались "как титры ", чтобы их ещё можно было остановить и снова запустить

Автор: Sardar 26.11.2004, 10:50
Если ты говоришь о внешнем виде, то делаем слой с заданной шириной/высотой, в стилях overflow: hidden, position: relative;
Затем помещаем туда все наши новости(в слое, в табличке). Прокручиваем изменяя слой.scrollTop

Сами новости можно грузить как RSS файл, поищи здесь примеры как работать с XML из JS. ПРавда это не имеет смысла если страница при каждом клике перезагружается.

Автор: Cheba 27.11.2004, 12:50
Цитата(Sardar @ 26.11.2004, 10:50)
ПРавда это не имеет смысла если страница при каждом клике перезагружается.
Почему не имеет?

Автор: Sardar 27.11.2004, 15:47
Дык тогда проще сгенерить содержимое нвовостей прямо в скрипт и не подгружать RSS файл.

Автор: Desdichado 10.12.2004, 22:23
Вот так делаются титры

Код

<html>
<head>
<title> Титры</title>
</head>
<body bgcolor=white onLoad="init()">
<script language=javascript>                  
<!--
 //global variables
 var layerRef="null",layerStyleRef="null",styleSwitch="null",topStopPoint="null",layerRef="null",styleSwitch="null",currtop=-100;
 var topStopPoint=-700,d=document.referrer;
 var backupTopStopPoint=topStopPoint;
 var currTop=600;
 var pxSwitch="null";
 var moving=1;
 var k=0;
 function init()
 {
   if (navigator.appName == "Netscape")
   {
     layerStyleRef="layer.";
     layerRef="document.layers";
     styleSwitch="";
     pxSwitch="";
   }
   else
   {
     layerStyleRef="layer.style.";
     layerRef="document.all";
     styleSwitch=".style";
     pxSwitch="px";
   }
   moveLayerUp('credits',k);
 }
 function pause(layerName)
 {
   moving*=-1;
   if(moving<0)
     topStopPoint=currTop+pxSwitch;
   else
   {
     topStopPoint=backupTopStopPoint;
     moveLayerUp(layerName,k);
   }  
 }
 function restart(layerName)
 {
   k++;
   currTop=600;
  topStopPoint=backupTopStopPoint;
   if(moving<0)
   {
     moving*=-1;
     moveLayerUp(layerName,k);
   }
 }

 function moveLayerUp(layerName,n)
 {
   if (eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.top != topStopPoint'))
   {
     currTop-=4;
     eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.top = currTop');
     setTimeout('moveLayerUp("'+layerName+'",'+n+')',50);
   }
 }
//-->
</script>

<style type="text/css">
#text {z-index: 2; position: absolute; left: 15px; top: 15;}
#credits {z-index: 1; position: absolute; top: 0; left: 30px; width: 300px;}
</style>

<div id="text">Text</div>

<div id="credits">
<font face=arial>
All trade marks and brand names are acknowledged as belonging to their respective owners. <br><br>
<b>Authors</b>
</font>
</div>

</body>
</html>

Автор: Alx 10.12.2004, 23:47
боже мой, да зачем же так извращаться???

Код

<html>
<body>
<basefont face="Verdana" size="2">
<div id="123" style="width:150;color:white;background:#6699ff;padding:6;border:2px solid blue #6699cc;">
<marquee height="150" behavior="scroll" direction="up" scrollamount="3" onmouseover="this.stop()" onmouseout="this.start()">
<center><b>Внимание!!!!</b></center>
это какая-нибудь новость (или новости), которая импортируется сервером или JavaScript-скриптом.
</marquee>
</div>
</body>
</html>

Добавлено @ 23:48
мышку подводим - останавливается, убираем - едем! smile

Автор: dm9 13.12.2004, 21:07
Ну, положим, в Опере с мышкой не особенно...

Автор: Vidocq 16.12.2004, 16:36
Ууух-ты, а в эксплорере рулит! smile
Мне нравится !!! smile

Автор: Alx 16.12.2004, 16:53
мы плохого не советум ;)

Автор: Aliance 10.3.2005, 23:51
Alx
В Опере не берет, в IE тормозит при работе других сценариев smile
У меня на сайте похожее =)

Автор: Zaman 11.3.2005, 19:51
http://www.woweb.ru/catalog/71/

а здесь ты найдешь интересное решение для инетересующей тебя задачи,

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