js实现左右切换轮播图思路

JavaScript023

js实现左右切换轮播图思路,第1张

我们在 CSS 阶段就已经接触到轮播图。通过轮播图我们可以达到一些好玩的特效,但使用 CSS 做出来的轮播图只有左右切换,渐变切换和简单的点击切换。局限性较大,观看效果也不佳。但当我们接触 js 之后,你就发现使用js来实现轮播图后,在看CSS实现轮播的效果就是...。我想说啥你知道的。废话不多说,咱们一起看看如何使用js来实现轮播效果。

(本文以阴阳师中“平安世界”模块的轮播图为例)

这个轮播图,我们通过两大模块构成;左右点击模块和姓名点击模块。然后在两者相关联来达到最终的效果。

在使用js实现轮播图的效果前,先使用HTML和CSS完善这一模块的布局。

本轮播图使用8张图片。每次出现两张。我们在使用HTML和CSS布局时可以先把第一组的两张图片放好位置。其他的放在两边隐藏起来。需要使用的时候在出现移动到中间。

左右点击切换模块:

我们通过对左右按钮进行点击监听。在点击后做出反应。左右点击的思路一样。我们先说一下右边按钮点击事件。

当我们点击右边按钮后,我们通过对点击次数进行累计。此处我使用初始化常量然后累加最后通过判断来达到循环效果

对每一张图片进行编码,以此来达到循环切换图片的效果。在切换图片时,我们可以使用排他思想。当点击按钮切换下一张图片的时候,我们可以先遍历所有的图片,把所有的图片移动到两边,然后将要移动的图片移动到中央来达到切换效果

在移动的过程中的动画和定时器设置的延迟可以自己添加一下。

左边按钮的原理和右边一样反操作即可。注意常量要使用一个。否则两个按钮都只能单方向运动,可能还会出现其他问题。

本次现讲一下左右切换的思路。

<!DOCTYPE HTML>

<html>

<head>

<meta charset="utf-8">

<title>无标题文档</title>

<style>

body{ margin:0}

#div{width:100px height:100px background:red position:absolute left:50px bottom:0}

</style>

<script>

window.onload=function ()

{

var oUp=document.getElementById('up')

var oDown=document.getElementById('down')

var oLeft=document.getElementById('left')

var oRight=document.getElementById('right')

var oDiv=document.getElementById('div')

var timer=null

oUp.onmousedown=function ()

{

Move('top')

}

oDown.onmousedown=function ()

{

    Move('bottom')

    }

oLeft.onmousedown=function ()

{

    Move('left')

}

oRight.onmousedown=function ()

{

    Move('right')

}

var iSpeed=2//每次移动的距离,可调整

var MoveTime=20//移动间隔时间,可调整

function Move (f)

{

    clearInterval(timer)

timer=setInterval(function (){

    

switch (f)

 {

     case 'left' :

     oDiv.style.left=oDiv.offsetLeft-iSpeed+'px'

 break

 

 case 'right' :

     oDiv.style.left=oDiv.offsetLeft+iSpeed+'px'

 break

 

 case 'top' :

     oDiv.style.top=oDiv.offsetTop-iSpeed+'px'

     break

 

 case 'bottom' :

     oDiv.style.top=oDiv.offsetTop+iSpeed+'px'

 }

 

},MoveTime)

}

oUp.onmouseup=oDown.onmouseup=oLeft.onmouseup=oRight.onmouseup=function ()

{

    MouseUp ()

}

function MouseUp ()

{

clearInterval(timer)

}

}

</script>

</head>

<body>

<input type="button" value="向上" id="up">

<input type="button" value="向下" id="down">

<input type="button" value="向左" id="left">

<input type="button" value="向右" id="right">

<div id="div"></div>

</body>

</html>

一个比较简单的按钮控制Div的上下左右移动

用jquery使一个按钮让div左右移动方法如下:

就是点击“#anniu”,然后"#caozuo"div左右移动,我的代码左移了就不能移动回来了  <div class="bottom textstyle" id="caozuo"><a href="#" id="anniu"><img src="jiantou2.png" width="20" id="tanchu" /></a></div> $(document).ready(function()... 就是点击“#anniu”,然后"#caozuo"div左右移动,我的代码左移了就不能移动回来了。

<div class="bottom textstyle" id="caozuo">

<a href="#" id="anniu"><img src="jiantou2.png" width="20" id="tanchu" /></a>

</div>

$(document).ready(function() {

$("#anniu").click(function(event){

event.preventDefault()

if($('#caozuo').is({right:'0em'})){

$('#caozuo').animate({right:'-8.5em'},"fast")}

else{

$('#caozuo').animate({right:'0em'},"fast")

}

})

})

jQuery是一套跨浏览器的JavaScript库,简化HTML与JavaScript之间的操作。由John Resig在2006年1月的BarCamp NYC上发布第一个版本。目前是由 Dave Methvin 领导的开发团队进行开发。全球前10000个访问最高的网站中,有59%使用了jQuery,是目前最受欢迎的JavaScript库。