javascript编写一个图片滚动小程序

javascript编写一个图片滚动小程序

自己可以更改图片的位置,每个图片大小200x200,总共四个图片

<!DOCTYPE HTML>
<head>
	<meta charset="utf-8" />
	<style>
		*{margin: 0px;padding: 0px;}
		#div1 {width: 800px;height: 200px;background-color: red; position: absolute;top: 100px;left: 400px;overflow: hidden;}
		#div1 ul{position: absolute;left: 0px;top: 0px;}
		#div1 ul li {float: left;list-style-type: none;}
	</style>
	<script>
		window.onload=function()
		{
			var speed=0;
			var div1_1 = document.getElementById("div1");
			var oul=div1_1.getElementsByTagName("ul")[0];
			var li_l=oul.getElementsByTagName("li");
			var timer=null
			oul.innerHTML=oul.innerHTML+oul.innerHTML;
			oul.style.width=li_l[0].offsetWidth*li_l.length +'px';
			//alert(li_l[1].offsetWidth)
			function move(){
				// alert(oul.offsetLeft)
				if(oul.offsetLeft<-oul.offsetWidth/2)
					{
						oul.style.left='0';
						}
				if(oul.offsetLeft>0)
				{
					oul.style.left= -oul.offsetWidth/2+'px';
				}
				oul.style.left=oul.offsetLeft+speed+'px';
				//alert(oul.style.left)
			};
			timer=setInterval(move,30);
			div1_1.onmouseover=function(){clearInterval(timer);}
			div1_1.onmouseout=function(){timer=setInterval(move,30);}
			document.getElementsByTagName('a')[0].onclick=function(){
				speed=-2;
			}
			document.getElementsByTagName('a')[1].onclick=function(){
				speed=0;
			}
			document.getElementsByTagName('a')[2].onclick=function(){
				speed=2;
			}
		}

	</script>
</head>
<body>
	<a href="javascript:;">left</a>
	<a href="javascript:;">stop</a>
	<a href="javascript:;">right</a>
	<div id="div1">
		<ul>
			<li><img src="C:\Users\Administrator\Desktop\picture\1.jpg" /></li>
			<li><img src="C:\Users\Administrator\Desktop\picture\2.jpg" /></li>
			<li><img src="C:\Users\Administrator\Desktop\picture\3.jpg" /></li>
			<li><img src="C:\Users\Administrator\Desktop\picture\4.jpg" /></li>
		</ul>
	</div>
</body>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
单例模式是一种常用的设计模式,它可以保证一个类只有一个实例,并提供一个全局的访问点。在JavaScript中,可以使用闭包来实现单例模式。下面是一个简单的示例: ```javascript var Singleton = (function() { var instance; function createInstance() { var object = new Object("I am the instance"); return object; } return { getInstance: function() { if (!instance) { instance = createInstance(); } return instance; } }; })(); // 使用示例 var instance1 = Singleton.getInstance(); var instance2 = Singleton.getInstance(); console.log(instance1 === instance2); // true ``` 在这个示例中,我们使用了一个立即执行函数来创建Singleton对象。由于函数内部定义的变量在函数外部是不可访问的,因此利用闭包来保存Singleton对象的实例。getInstance方法用来获取Singleton对象的实例,如果instance变量不存在则创建一个新的对象并将其赋值给instance变量,否则直接返回instance变量。这样就可以保证Singleton对象只有一个实例。 使用示例中,我们连续两次调用getInstance方法获取Singleton对象的实例,然后比较它们是否相等,结果为true,说明Singleton对象只有一个实例。 需要注意的是,由于JavaScript是一门动态语言,所以单例模式并不能完全避免创建多个实例的情况。如果在程序中使用了new操作符来创建Singleton对象的实例,那么就会创建一个新的对象,而不是返回已有的实例。因此在编写程序时需要注意不要使用new操作符来创建Singleton对象的实例。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值