JS制作的滚动公告栏-文字图片每翻一行停顿几秒

这个是关于前台制作和脚本方面的,用JS写的滚动公告栏的两段代码,分别对文字和图片使用,方向是上下滚动,每翻一行就要停顿几秒,这在一些门户网站,论坛以及一些BLOG常见到,在这里先摘录一下以备用。最重要的是两段JS代码在IE6.0与FIREFOX下都可以正常显示和滚动。

文字每翻一行停顿几秒的代码
插入代码:
<style>
div { font-size:12px; }
</style>
<div id="mq" style="width:100%;height:70px;overflow:hidden" οnmοuseοver="iScrollAmount=0"
οnmοuseοut="iScrollAmount=1">
  轻轻的我走了,正如我轻轻的来;<br/>
  我轻轻的招手,作别西天的云彩。<br/>
  <br/>
  那河畔的金柳,是夕阳中的新娘;<br/>
  波光里的艳影,在我心头荡漾。<br/>
  <br/>
</div>
<script>
var oMarquee = document.getElementById("mq"); //滚动对象
var iLineHeight = 42; //单行高度,像素
var iLineCount = 7; //实际行数
var iScrollAmount = 1; //每次滚动高度,像素
function run() {
oMarquee.scrollTop += iScrollAmount;
if ( oMarquee.scrollTop == iLineCount * iLineHeight )
oMarquee.scrollTop = 0;
if ( oMarquee.scrollTop % iLineHeight == 0 ) {
window.setTimeout( "run()", 2000 );
} else {
window.setTimeout( "run()", 50 );
}
}
oMarquee.innerHTML += oMarquee.innerHTML;
window.setTimeout( "run()", 2000 );
</script>
图片每翻一张停顿几秒的代码
插入代码:
<script>
var marqueeContent=new Array(); //滚动公告
marqueeContent[0]='<img src=http://www.ihandu.com/googlelink.gif></img>';
marqueeContent[1]='<img src=http://www.ihandu.com/googlelink.gif></img>';

var marqueeInterval=new Array(); //定义一些常用而且要经常用到的变量
var marqueeId=0;
var marqueeDelay=2500;
var marqueeHeight=50;
//接下来的是定义一些要使用到的函数
function initMarquee() {
var str=marqueeContent[0];
document.write('<div id=marqueeBox style="overflow:hidden;height:'+marqueeHeight+'px" οnmοuseοver="clearInterval(marqueeInterval[0])" οnmοuseοut="marqueeInterval[0]=setInterval(marqueeDelay)"><div>'+str+'</div></div>');
marqueeId++;
marqueeInterval[0]=setInterval("startMarquee()",marqueeDelay);
}
function startMarquee() {
var str=marqueeContent[marqueeId];
marqueeId++;
if(marqueeId>=marqueeContent.length) marqueeId=0;
if(marqueeBox.childNodes.length==1) {
var nextLine=document.createElement('DIV');
nextLine.innerHTML=str;
marqueeBox.appendChild(nextLine);
}
else {
marqueeBox.childNodes[0].innerHTML=str;
marqueeBox.appendChild(marqueeBox.childNodes[0]);
marqueeBox.scrollTop=0;
}
clearInterval(marqueeInterval[1]);
marqueeInterval[1]=setInterval("scrollMarquee()",20);
}
function scrollMarquee() {
marqueeBox.scrollTop++;
if(marqueeBox.scrollTop%marqueeHeight==(marqueeHeight-1)){
clearInterval(marqueeInterval[1]);
}
}
initMarquee();
</script>


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,制作图片滚动栏并且每张图片下方配有相应文字件,可以按照以下步骤进行: 1. 首先需要准备好需要展示的图片和对应的文字件,并将它们放在一个容器中。 2. 使用 jQuery 中的 `animate()` 函数,将容器中的所有图片文字件向左移动一个固定的距离,形成滚动效果。 3. 当最后一张图片完全离开容器时,将它移动到容器的最右侧,并将第一张图片移动到容器的最左侧,从而形成循环滚动的效果。 4. 在每张图片的下方添加一个 `div` 元素,用于显示对应的文字件。可以使用 CSS 样式来设置文字件的样式。 下面是一个简单的示例代码,你可以参考一下: ```html <!DOCTYPE html> <html> <head> <title>图片滚动栏</title> <style type="text/css"> .container { width: 600px; height: 300px; overflow: hidden; position: relative; } .container img { float: left; width: 200px; height: 300px; } .container div { position: absolute; bottom: 0; left: 0; width: 100%; background-color: rgba(0,0,0,0.5); color: #fff; padding: 10px; box-sizing: border-box; font-size: 16px; } </style> </head> <body> <div class="container"> <img src="img1.jpg"> <div>这是第一张图片文字说明</div> <img src="img2.jpg"> <div>这是第二张图片文字说明</div> <img src="img3.jpg"> <div>这是第三张图片文字说明</div> </div> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ var container = $('.container'); var images = container.find('img'); var captions = container.find('div'); var imgWidth = images.first().width(); var imgCount = images.length; var totalWidth = imgWidth * imgCount; var currentPosition = 0; images.wrapAll('<div class="img-wrapper"></div>'); container.css({ 'width': imgWidth, 'height': images.first().height() }); $('.img-wrapper').css({ 'width': totalWidth, 'position': 'relative', 'left': 0 }); captions.each(function(){ $(this).css({ 'width': imgWidth, 'opacity': 0.7, 'display': 'none' }); }); captions.first().show(); function moveLeft() { currentPosition -= imgWidth; if(currentPosition < -totalWidth + imgWidth) { currentPosition = 0; } $('.img-wrapper').animate({ 'left': currentPosition }, 500); var currentImage = Math.abs(currentPosition) / imgWidth; captions.hide().eq(currentImage).fadeIn(500); } var timer = setInterval(moveLeft, 3000); container.hover(function(){ clearInterval(timer); }, function(){ timer = setInterval(moveLeft, 3000); }); }); </script> </body> </html> ``` 在这个示例中,我们使用了 jQuery 中的 `animate()` 函数来实现滚动效果,使用了 `setInterval()` 函数来定时触发滚动事件,使用了 `hover()` 函数来在鼠标悬停时停止滚动。同时,我们还使用了 CSS 样式来设置图片文字件的样式,并使用了 `eq()` 函数来选中对应的文字件进行显示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值