【js特效】图片循环滚动代码「建议收藏」

【js特效】图片循环滚动代码「建议收藏」1.效果图如下:2.html代码:图片滚屏效果-www.miaov.com-妙味课堂 间隔停顿 短 中 长 滚动速度: 慢 中 快

大家好,又见面了,我是你们的朋友全栈君。

1.效果图如下:

【js特效】图片循环滚动代码「建议收藏」

2.html代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>图片滚屏效果 - www.miaov.com - 妙味课堂</title>
<link href="miaov_style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="miaov.js">
</script>
</head>
<body>
<div class="control">
	<label id="chk_pause"><input type="checkbox" checked="checked">间隔停顿</label>
	<select id="pause_time">
		<option value="100">短</option>
		<option value="1000" selected="selected">中</option>
		<option value="3000">长</option>
	</select>

	滚动速度:
	<select id="sel_speed">
		<option value="2">慢</option>
		<option value="5">中</option>
		<option value="10">快</option>
	</select>
</div>

<div class="roll" id="roll">
    <a href="javascript:void(0);" class="btn_left"></a>
    <a href="javascript:void(0);" class="btn_right"></a>
    <div class="wrap">
        <ul>
            <li><a href="http://www.miaov.com/"><img src="images/1.jpg" /></a></li>
            <li><a href="http://www.miaov.com/"><img src="images/2.jpg" /></a></li>
            <li><a href="http://www.miaov.com/"><img src="images/3.jpg" /></a></li>
            <li><a href="http://www.miaov.com/"><img src="images/4.jpg" /></a></li>
        </ul>
    </div>
</div>
</body>
</html>

3.css代码:

* { padding: 0; margin: 0; }
li { list-style: none; }
img { border: 0; }

.roll { width: 698px; height: 108px; margin: 50px auto 0; position: relative; }
.btn_left { display: block; width: 68px; height: 68px; background: url(images/btn.jpg) no-repeat -70px -69px; position: absolute; top: 20px; left: 1px; z-index: 1; }
.btn_left:hover { background: url(images/btn.jpg) no-repeat -70px 0; }
.btn_right { display: block; width: 68px; height: 68px; background: url(images/btn.jpg) no-repeat 1px -69px; position: absolute; top: 20px; right: 0; z-index: 1; }
.btn_right:hover { background: url(images/btn.jpg) no-repeat 1px 0; }
.roll .wrap { width: 546px; height: 108px; margin: 0 auto; position: relative; overflow: hidden; }
.roll ul { position: absolute; top: 0; left: 0; }
.roll li { float: left; width: 182px; height: 108px; text-align: center; }
.roll li a:hover { position: relative; top: 2px; }

.control { border-bottom: 1px solid #ccc; background: #eee; text-align: center; padding: 20px 0; display: none; }

4.js代码:

var g_bMoveLeft=true;
var g_oTimer=null;
var g_oTimerOut=null;

var g_iSpeed=3;

window.οnlοad=function ()
{
	var oDiv=document.getElementById('roll');
	var oUl=oDiv.getElementsByTagName('ul')[0];
	var aLi=oUl.getElementsByTagName('li');//获取<ul>标签中所有的<li>元素
	var aA=oDiv.getElementsByTagName('a');//获取<ul>标签中所有的<a>元素
	var i=0;
	var str=oUl.innerHTML+oUl.innerHTML;//两组 <li>元素
	oUl.innerHTML=str;
	oUl.style.width=aLi[0].offsetWidth*aLi.length+'px';//两组<li>标签的总宽度
	for(i=0;i<aLi.length;i++){
		aLi[i].οnmοuseοver=function (){
			stopMove();//鼠标移上去时停止移动
		};
		
		aLi[i].οnmοuseοut=function (){
			startMove(g_bMoveLeft);//开始向左移动
		};
	}
	
	aA[0].οnmοuseοver=function (){
		startMove(true);
	};
	
	aA[1].οnmοuseοver=function (){
		startMove(false);
	};
	
	startMove(true);
};

function startMove(bLeft){
	g_bMoveLeft=bLeft;	
	if(g_oTimer){
		clearInterval(g_oTimer);
	}
	g_oTimer=setInterval(doMove, 30);
}

function stopMove(){
	clearInterval(g_oTimer);
	g_oTimer=null;
}

function doMove(){
	var oDiv=document.getElementById('roll');
	var oUl=oDiv.getElementsByTagName('ul')[0];
	var aLi=oUl.getElementsByTagName('li');
	var l=oUl.offsetLeft;
	if(g_bMoveLeft){
		l-=g_iSpeed;
		if(l<=-oUl.offsetWidth/2){
			l+=oUl.offsetWidth/2;
		}
	}else{
		l+=g_iSpeed;
		if(l>=0){
			l-=oUl.offsetWidth/2;
		}
	}
	oUl.style.left=l+'px';
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/161324.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • kali漏扫软件_kali渗透web网站

    kali漏扫软件_kali渗透web网站一、漏洞扫描器漏洞扫描器通常由两个部分组成①进行扫描的引擎部分 ②包含了世界上大多数系统和软件漏洞特征的特征库比较优秀的漏洞扫描器:Rapid7Nexpose:(商用软件)适合较大的网络 TenableNessus:(商用软件)价格相当更经济一些 OpenVas:免费使用的工具,更适合个人使用商用软件使用起来比较容易,只要给出一个IP地址就能完成所有的扫描任务,但…

  • python如何安装sklearn库

    python如何安装sklearn库1.正常的安装思路是win+Rcmdpipinstall+所要装的库然后就会这样2.其实在我换了3.8版本之后在安装python库的时候,基本上pipinstall+库名80%是会成功的,对于这种失败的,我用了第二种方法进行安装。在官网https://www.lfd.uci.edu/~gohlke/pythonlibs/#找到库对应的文件进行下载下载好了之后可以在浏览器的“下载内容”找到我的建议是点“在文件夹中显示”然后在文件夹中选中复制切回c…

    2022年10月17日
  • BufferedWriter[通俗易懂]

    BufferedWriter[通俗易懂]  带有默认缓冲的字符输出流。使用:  构造:BufferedWriterbf=newBufferedWriter(“outFilePath”);  写入:write(“thing”);  换行:newLine();  刷新缓冲区,会将内容写进目标文件:flush();  关闭该流的操作:close();importjava.io.BufferedWrit…

  • keras卷积层_keras实现全卷积神经网络

    keras卷积层_keras实现全卷积神经网络分组卷积在pytorch中比较容易实现,只需要在卷积的时候设置group参数即可比如设置分组数为2conv_group=nn.Conv2d(C_in,C_out,kernel_size=3,stride=3,padding=1,groups=2)但是,tensorflow中目前还没有分组卷积,只能自己手动编写分组卷积函数。在编写程序之前大家要先理解分组卷积的形式,也就是对特征图在通道上进行划分,例如设置group=3,对输入特征图通道划分成三组,输出特征图也要划分成3组,再对三组输入输出特

    2022年10月30日
  • matlab矩阵拼接

    matlab矩阵拼接matlab中矩阵拼接分为行拼接和列拼接

  • 五种MATLAB画圆方式程序「建议收藏」

    五种MATLAB画圆方式程序「建议收藏」clear,clc%方法一:使用隐函数的方法来绘制.holdonezplot(‘x^2+y^2-8′)%方法二:转换成参数函数来绘制图形.symsxytx=2*sin(t);y=2*cos(t);%程序如下:t=0:pi/100:2*pi;x=2*sin(t);y=2*cos(t);plot(x,y,’r’)%方法三:转换成匿名函数来绘制图形.t1=0:pi/100:2*pi;x1=@(tt)2*sin(tt)+1;y1=@(tt)2*cos(tt)+2;..

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号