滚动新闻的代码

html-css08

滚动新闻的代码,第1张

<title>文字滚动</title>

<style type="text/css">

#rollText{font:12px /20px verdana}

</style><div id="rollAD" style="height:40pxposition:relativeoverflow:hidden">

<div id="rollText" style="font-size:12pxline-height:20px">

<a href="/" title="">◇ 安理会改革拟新增七理事国</a><br />

<a href="/" title="">◇ 国务院领导工作分工确定</a><br />

<a href="/" title="">◇ 安理会改革拟新增七理事国</a><br />

<a href="/" title="">◇ 国务院领导工作分工确定</a><br />

<a href="/" title="">◇ 安理会改革拟新增七理事国</a><br />

<a href="/" title="">◇ 国务院领导工作分工确定</a><br />

<a href="/" title="">◇ 国务院领导工作分工确定</a><br />

</div>

</div>

<script type="text/javascript">

// <![CDATA[

var textDiv = document.getElementById("rollText")

var textList = textDiv.getElementsByTagName("a")

if(textList.length >2){

var textDat = textDiv.innerHTML

var br = textDat.toLowerCase().indexOf("<br",textDat.toLowerCase().indexOf("<br")+3)

//var textUp2 = textDat.substr(0,br)

textDiv.innerHTML = textDat+textDat+textDat.substr(0,br)

textDiv.style.cssText = "position:absolutetop:0"

var textDatH = textDiv.offsetHeightMaxRoll()

}

var minTime,maxTime,divTop,newTop=0

function MinRoll(){

newTop++

if(newTop<=divTop+40){

textDiv.style.top = "-" + newTop + "px"

}else{

clearInterval(minTime)

maxTime = setTimeout(MaxRoll,5000)

}

}

function MaxRoll(){

divTop = Math.abs(parseInt(textDiv.style.top))

if(divTop>=0 &&divTop<textDatH-40){

minTime = setInterval(MinRoll,1)

}else{

textDiv.style.top = 0divTop = 0newTop=0MaxRoll()

}

}

// ]]>

</script>

连续的滚动可以使用css3实现(animat,0%,50%,100%),设置不同时间的图片位置即可。但只是在“滚动”,通常不是大家所称之为的“滚动”(严格说是滑动)。

因此说,你的问题有一定的歧义的。

css3还有一种方法可以实现滚动。就是使用过度效果(transition),他也可以实现滚动的效果。而且,个人感觉比较符合你的意思。

其具体的做法是,给超链接滑过状态一个图片属性,如:

li a img {margin-top:0px}

li a:hover img {margin-top:-20px}

li a img {-webkit-transition: margin-top 0.5s}/*注意这里的hack,照顾多个浏览器*/

这样,鼠标滑上图片,图片就会动画向上滑动20像素,鼠标离开,又滑下来。

再扯下严格意义的【动态滚动的图片】,一般的解释是一组图片可以在某个区域内动画滑动。注意是一组。css通常不具有处理多组图片(也有css模拟动画帧的效果的)的效果。动态滚动图片常见的有2种,一种是可控制的滚动列表,一种是自动无限循环滚动。通常用来作为滚动新闻、组图或相册(风采)使用。