【前端】javascript+jQuery实现旋转木马效果轮播图slider

实现效果:

实现原理:

  • 技术栈:

javascript+jQuery+html+css

  • 实现步骤:

// 0. 获取元素

// 1. 鼠标放置到轮播图上,显示两侧的控制按钮,移开后隐藏

// 2. 为两侧控制按钮绑定事件(调用同一个方法,只有一个参数,true为正向旋转,false为反向旋转)

实现代码:

<!DOCTYPE html>
<html>
<head>
	<title>旋转木马效果轮播图</title>
	<meta charset="utf-8">
	<style type="text/css">
		*{
			padding: 0;
			margin: 0;
		}
		body{
			font: 12px/1.5 "微软雅黑";
			background-color: #2f2f2f;
		}
		a{
			text-decoration: none;
			outline: none;
			cursor: pointer;
		}
		.warp{
			width: 1000px;
			margin: 10px auto;
			border: 1px solid red;
		}
		.slide{
			height: 200px;
			margin: 150px auto;
			position: relative;
		}
		.slide li{
			position: absolute;
			left: 200px;
			top: 0;
		}
		.slide li img{
			width: 100%;
			border: 0;
			vertical-align: top;
		}
		ul{
			list-style: none;
		}
		.arrow{
			opacity: 0;
		}
		.prev, .next{
			width: 76px;
			height: 112px;
			position: absolute;
			top: 50%;
			margin-top: -56px;
			background: url(‘images/prev.png‘) no-repeat;
			z-index: 999;
		}
		.next{
			right: 0;
			background-image: url(‘./images/next.png‘);
		}
	</style>
</head>
<body>
<div class="wrap" id="wrap">
	<div class="slide" id="slide">
		<ul>
			<!-- 五张图片 -->
			<li><a href="#"><img src="./images/01.jpg"></a></li>
			<li><a href="#"><img src="./images/02.jpg"></a></li>
			<li><a href="#"><img src="./images/03.jpg"></a></li>
			<li><a href="#"><img src="./images/04.jpg"></a></li>
			<li><a href="#"><img src="./images/05.jpg"></a></li>
		</ul>
		<!-- 左右切换按钮 -->
		<div class="arrow" id="arrow">
			<a href="javascript:;" class="prev"></a>
			<a href="javascript:;" class="next"></a>
		</div>
	</div>
</div>
<!-- 引入jQuery -->
<script src="jquery1.0.0.1.js"></script>
<script type="text/javascript">
	window.onload = function(){
		var arr = [
                {   //  1
                    width:400,
                    top:0,
                    left:170,
                    opacity:20,
                    zIndex:2
                },
                {  // 2
                    width:600,
                    top:70,
                    left:80,
                    opacity:80,
                    zIndex:3
                },
                {   // 3
                    width:800,
                    top:50,
                    left:250,
                    opacity:100,
                    zIndex:4
                },
                {  // 4
                    width:600,
                    top:70,
                    left:600,
                    opacity:80,
                    zIndex:3
                },
                {   //5
                    width:400,
                    top:0,
                    left:720,
                    opacity:20,
                    zIndex:2
                }
            ];

		// 0. 获取元素
		var slide = document.getElementById("slide");
		var liArr = slide.getElementsByTagName("li");
		var arrow = slide.children[1];
		var arrowChildren = arrow.children;

		// 设置一个开闭变量,点击以后修改这个值
		var flag = true;

		// 1. 鼠标放置到轮播图上,显示两侧的控制按钮,移开后隐藏
		slide.onmouseenter = function(){
			animate(arrow,{"opacity":100});
		}
		slide.onmouseleave = function(){
			animate(arrow, {"opacity":0});
		}

		move();

		// 3. 为两侧控制按钮绑定事件(调用同一个方法,只有一个参数,true为正向旋转,false为反向旋转)
		arrowChildren[0].onclick = function(){
			if(flag){
				flag = false;
				move(true);
			}
		}
		arrowChildren[1].onclick = function(){
			if(flag){
				flag = false;
				move(false);
			}
		}

		// 书写slider移动函数
		function move(bool){
			// 判断,如果等于undefined,那么不执行这两个if语句
			if(bool === true || bool === false){
				if(bool){
					// 将最后一个添加到第一个位置
					arr.unshift(arr.pop());
				}
				else{
					// 将第一个添加到最后一个位置
					arr.push(arr.shift());
				}
			}
			// 再次为页面的所有li赋值属性,利用缓动框架
			for(var i=0; i<liArr.length; i++){
				animate(liArr[i], arr[i], function(){
					flag = true;
				});
			}
		}
	}
</script>
</body>
</html>

  

时间: 2024-10-14 04:19:48

【前端】javascript+jQuery实现旋转木马效果轮播图slider的相关文章

jQuery淡入淡出效果轮播图

用JavaScript做了平滑切换的焦点轮播图之后,用jQuery写了个简单的淡入淡出的轮播图,代码没有做优化,html结构稍微有一些调整,图片部分用ul替换了之前用的div. html结构如下: <div id="container"> <ul class="pic"> <li><a href="javascript:;"><img src="DSC01627.jpg"

使用javascript,jquery实现的图片轮播功能

使用javascript,jquery实现的图片轮播功能本功能采用最基础的javascript和一些简单的jquery技术实现,易理解,以修改使用,代码简易,适合刚开始接触到网站开发的朋友们参考.可以直接把代码copy下来,放入一个html 文件即可,然后把jquery文件放在同一个文件夹下就可以了.文件下载地址:http://download.csdn.net/detail/xyytcs/5037545 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1

前端框架之jQuery(二)----轮播图,放大镜

事件 页面载入   ready(fn)  //当DOM载入就绪可以查询及操纵时绑定一个要执行的函数.   $(document).ready(function(){}) -----------> $(function(){}) 事件处理   $("").on(eve,[selector],[data],fn)  // 在选择元素上绑定一个或多个事件的事件处理函数.    //  .on的selector参数是筛选出调用.on方法的dom元素的指定子元素,如:   //  $('u

【前端】javascript实现带有子菜单和控件的轮播图slider

实现效果: 实现原理: // 步骤 // 1. 获取事件源以及相关元素 // 2. 复制第一张图片所在的li,添加到ul的最后面 // 3. 给ol添加li,ul中的个数-1个,并点亮第一个按钮 // 4. 鼠标放到ol的li上切换图片 // 5. 添加定时器 // 6. 左右切换图片(鼠标放上去隐藏,移开显示) 实现代码: <!DOCTYPE html> <html> <head> <title>轮播图</title> <meta cha

JQuery教程:实现轮播图效果

轮播图说起来非常简单,就是几张图片一直不停的轮流播放,但是要想写好代码,也要考虑下性能问题,下面我们来简单的实现一下. 首先,页面代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <link rel="stylesheet" type="text/css" href=&q

jquery 实现3d切割轮播图

总结: 1.布局时4张图片分别为一个立体长方体的4个侧面,屏幕为该长方体的几何中心. 2.注意点击左按钮,显示上一张图片,沿X轴旋转的是 90deg,  右按钮,则为 90deg   3.切割效果通过li过渡延时来实现,通过节流阀控制过渡完成的时间点,也就是下次点击事件可以触发的时间点.  效果图:       1.html: <!--3d立体轮播图--><section class="box"> <ul class="imageBox"

JQuery实现简单的轮播图基本思路

demo点这里 需要达到的效果 常见的轮播图组件自动翻页,左右跳转按钮,下方是indexindex显示了当前图片位置,左右按钮就是更改当前位置第一个版本暂时不定义api了,写简单点 大概思路 用banner隐藏超出部分的图片imageList是inline要显示的话就float到标签位置 首先是html 从sublime换了webstorm,自带了emmet插件也就是可以这样写div.wrapper>div.banner>ul.imageList>(li>img)*4^img+im

jquery手写焦点轮播图-------解决最后一张无缝跳转第一张的问题

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>轮播图</title> <style> *{padding: 0;margin: 0;list-style-type: none;} .wrap{width: 520px;height: 280px;margin: 50px auto;} .ba

jQuery实现简单的轮播图

先看效果,如果是你想要的,可以看看总体思路: 1.自动轮播2.指定轮播3.左右翻动 详细步骤:jQuery部分 设置第一张图片显示,其他的兄弟元素隐藏 自动轮播的时候,指定第一张的索引为 i=0,然后 i++, 使其对应的 i 索引的图片显示,其他的隐藏,当 i=5(即第六张图片的时候,使其为第一张即可,否则我们没有第六张图片就不显示了). 指定图片轮播,就是鼠标移动到白圈上显示对应的图片,并计时器停止,我们可以看看图片上的内容,有的轮播图计时器还是继续的,看不了什么内容:鼠标离开则继续轮播.