写的一个轮播插件 效果图如下:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test </title>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<style type="text/css">
*{margin:0;padding:0;}
ul,li,ol{ list-style:none;}
img,a img{ border:none;}
table{ border-collapse:collapse; border-spacing:0;}
em,i,u{ font-style:normal;}
a{ text-decoration:none;color:#434343;}
a:hover{ text-decoration:underline; color:#ff4000;}
body{font-size:12px; font-family:"宋体";color:#434343;}
.clear{clear:both; font-size:0; overflow:hidden; height:0;}
.blank10{clear:both; font-size:0; overflow:hidden; height:10px;}
.blank{clear:both; font-size:0; overflow:hidden; height:10px; background:#FFF;}
/*********content css定义***********/
#content{width:960px;margin:0 auto;}
h1,h2,h3{ font-family:"微软雅黑";color:#00659b;}
h1,h2,h3,h4,h5,h6{ font-weight:bold;}
#footer{padding-bottom:0;margin:0px auto 0;}
/*********main css定义***********/
.mb15 {margin-bottom: 0px;}
#main{width:960px; margin:6px auto 10px; overflow:hidden;}
.sub_box{width:663px; height:300px; float:left; position:relative; overflow:hidden; border:1px solid #cccccc; background:url(http://trip.elong.com/trip/default/news/images/logo_gray.jpg) center center no-repeat; *background:url(http://trip.elong.com/trip/default/news/images/logo_gray.jpg) 220px 120px no-repeat;}
.sub_box img{border:none; width:663px; height:300px;}
.sub_nav{width:663px; height:25px; bottom:0px; position:absolute; color:#999999; z-index:200;}
.sub_no{height:25px; float:right;}
.sub_no li{display:block; width:25px; height:25px; float:left; overflow:hidden; line-height:25px; vertical-align:middle; text-align:center; background:#000000; filter:alpha(Opacity=70); Opacity:0.7; font-family:Arial; font-size:11px; color:#999999; cursor:pointer;}
.sub_no li.show{background:#ffffff; color:#000000;}
.sub_more{float:right; width:50px; height:25px; background:#000000; filter:alpha(Opacity=70); Opacity:0.7; color:#999999; text-align:center; line-height:25px;}
.sub_more a{color:#999999;}
.sub_more a:hover{color:#cccccc; text-decoration:none;}
</style>
<script type="text/javascript">
function $(id,tag){
var re=(id&&typeof id!="string")?id:document.getElementById(id);
if(!tag){
return re;
}
else{
return re.getElementsByTagName(tag);
}
}
function move(moveWidth,pageItems,displayEl){
var currentMoving=false;
var carouselInterval;
var changePageTimeout;
var currentShowIndex=0;
var currentHideIndex=1;
var pShowEl=$(pageItems[currentShowIndex].itemId).parentNode;
var initPageItemEvent=function(){
var len= pageItems.length;
for(var i=0;i<len;i++){
$(pageItems[i].btn).setAttribute("pageIndex",i);
//按钮事件添加 可以做成配置项 添加自定义点击事件 此处没有处理
$(pageItems[i].btn).onclick= function(){
var cIndex=this.getAttribute("pageIndex")-0;
if(currentMoving || currentShowIndex==cIndex){
return false;
}
clearTimeout(changePageTimeout);
currentHideIndex=cIndex;
if(currentShowIndex>cIndex){
changePaging(true);
}else{
changePaging(false);
}
}
}
};
var changePosition=function(toRight){
var currentItem=$(pageItems[currentShowIndex].itemId);
var hidePage=$(pageItems[currentHideIndex].itemId);
var hideLeft=hidePage.style.left;
hideLeft=parseInt(hideLeft+0,10);
var cWidth=Math.ceil(moveWidth/20);
if(toRight){
var hideMwidth=hideLeft+cWidth;
var currMwidth=hideLeft+moveWidth;
}else{
var hideMwidth=hideLeft-cWidth;
var currMwidth=hideLeft-moveWidth;
}
if((hideMwidth<=0 && !toRight) || (toRight && hideMwidth>=0)){
hideMwidth=0;
clearInterval(carouselInterval);
setTimeout(function(){
var currentItem=$(pageItems[currentShowIndex].itemId);
currentItem.style.display="none";
currentItem.style.left=moveWidth+"px";
displayEl.appendChild(currentItem);
currentShowIndex=currentHideIndex;
currentMoving=false;
},0);
changePageTimeout=setTimeout(function(){
currentHideIndex++;
if(!pageItems[currentHideIndex]){
currentHideIndex=0;
}
changePaging();
},5000);
}
//我测试用的left
currentItem.style.left=currMwidth+"px";
hidePage.style.left =hideMwidth+"px";
};
var changePaging= function(toRight){
currentMoving=true;
$(pageItems[currentShowIndex].btn).className="";
$(pageItems[currentHideIndex].btn).className="show";
var hideItem=$(pageItems[currentHideIndex].itemId);
var hideItemLeft=moveWidth;
if(toRight){
hideItemLeft=0-moveWidth;
pShowEl.insertBefore(hideItem,$(pageItems[currentShowIndex].itemId));
}else{
pShowEl.insertBefore(hideItem,$(pageItems[currentShowIndex].itemId).nextSibling);
}
hideItem.style.left=hideItemLeft+"px";
hideItem.style.display="";
carouselInterval=setInterval(function(){changePosition(toRight);},100);
};
changePageTimeout=setTimeout(changePaging,5000);
initPageItemEvent();
}
window.onload=function(){
//每次轮播移动的距离,每次移动按moveWidth./20计算
var moveWidth=663;
//轮播的数组 按钮和item dom对象的id 从0开始播放
//对没有按钮的情况没有去兼容
//每次过5秒换图。多久播放下一幅图片没有做成配置选项 如修改可做成配置 也可直接替换5000
var pageItems=[
{
btn:"btnPage1",
itemId:"pageNum1"
},{
btn:"btnPage2",
itemId:"pageNum2"
},{
btn:"btnPage3",
itemId:"pageNum3"
},{
btn:"btnPage4",
itemId:"pageNum4"
},{
btn:"btnPage5",
itemId:"pageNum5"
}
];
//调用接口播放
move(moveWidth,pageItems,$("displayDiv"));
};
</script>
</head>
<body >
<div class="sub_box">
<div id="p-select" class="sub_nav">
<div class="sub_no" id="appNum">
<ul >
<li class="show" id="btnPage1">1</li>
<li class="" id="btnPage2">2</li>
<li class="" id="btnPage3">3</li>
<li class="" id="btnPage4">4</li>
<li class="" id="btnPage5">5</li>
</ul>
</div>
</div>
<div id="show" style="position:relative;">
<div style="left:0px;position:absolute;" id="pageNum1">
<img src="1.png">
</div>
</div>
</div>
<div id="displayDiv">
<div style="left:663px;position:absolute;display:none;" id="pageNum2">
<img src="2.png">
</div>
<div style="left:663px;position:absolute;display:none;" id="pageNum3">
<img src="3.png">
</div>
<div style="left:663px;position:absolute;display:none;" id="pageNum4">
<img src="4.png">
</div>
<div style="left:663px;position:absolute;display:none;" id="pageNum5">
<img src="5.png">
</div>
<div>
</body>
</html>
- 大小: 19.9 KB
- 大小: 116.3 KB
- 大小: 116.2 KB
- 大小: 116.7 KB
分享到:
相关推荐
swiper实现轮播图几乎是没有一点点技术含量,但是用起来却很方便,包括对移动端的支持也很好。 由于简单这里当然就不会去详细介绍了,下面就来开始本文的正文内容 实现过程: 一.移动端-需求swiper 4.0.3实现层叠轮播 ...
焦点图轮播插件,基于jquery实现,简单方便。。。
代码简介:兼容IE8的jQuery轮播图插件是一款兼容性很好的,使用非常简单的网站焦点图代码,依赖jquery和pageSwitch.js来实现轮播效果,轮播图以背景图的方式插入到当前页面进行轮播,并且可自定义轮播间隔时间等一...
自己封装的jquery插件@实现了简单的轮播图以及图片点击后的回调实现,自动播放等,
此插件应用了一些vue的简单的事件绑定,列表循环以及显示隐藏 同时为了使图片轮播交互效果更好,还使用了过渡(vue官网有详细介绍) 可以在标签内设置 enter-active-class 和 leave-active-class来产生轮播平滑的...
主要是用DJANGO来实现网页的轮播图,实现软件是PYCHARM需要用到GULP实际上用sublime也能进行修改和编辑.
主要实现轮播功能机制,用户可控制图片大小,控制所需图片,控制位置,简单调用。
ts,打算用 ts 写一个练手项目,参照的网站内容是 wanandroid,这个接触过android开发的同学可能更i了解一些,其实一开始是打算后台全部都自己写的,不过奈何一个懒字,所以现在的打算就是自己实现登录注册简单的...
支持响应式手机端jQuery图片轮播插件unslider,非常强大的jQuery插件,支持响应式手机端 、支持函数回调、支持左右按钮切换,可以自定义是否使用响应式fluid:true/false、是否显示 圆点切换dots:true/false,是否...
简单实用原生js实现带缩略图文字说明左右轮播切换相册插件下载。一款基于原生JavaScript实现图片相册幻灯轮播图特效插件,没有引入任何jQuery库,短短数行原生php中文网实现。
基于vue实现移动端轮播图,主要功能手指触摸滑动滚动、自动轮播、无缝滚动、循环无回滚等。图片切换有过渡效果。适合前端初学者学习。欢迎有疑问的小伙伴私聊提问哦。
jCarrousel是一款炫酷且强大的3D旋转木马效果轮播图jQuery插件。该旋转木马插件可以自适应屏幕大小来调整图片的间距,可实现自动播放等。jCarrousel代码简洁,使用简单,值得推荐。
Swiper.js插件超简单实现轮播图 Swiper是纯javascript打造的滑动特效插件,面向手机、平板电脑等移动终端。能实现触屏焦点图、触屏Tab切换、触屏多图切换等常用效果。超好用 话不多说,直接上教程 1、首先加载...
轮播插件,仅需简单的配置即可实现多种轮播效果。完全独立,不依赖任何JS库;完全免费,这意味着你可以在任何地方使用。
想要拥有jquery轮播的效果吗?本jquery轮播效果实现了轮播的核心功能,这个只是给出了轮播的一个简单的例子,以后会提供更简单、灵活的jquery轮播插件,敬请期待...
使用Unity3d实现一个简单的桌面图片轮播工具
基于css的scroll-snap-type实现自动轮播的效果插件 背景 实现一个很简单的自动轮播的效果 思考: 传统的 swiper 太重了,里面封装了很多我们不需要的功能,一个简单的功能没必要那么中的文件。那就自己实现吧 实现...
一个简单的HTML5页面,使用fullPage.js插件做的轮播图页面,可以直接放在Android项目中的 assets 文件夹下作为app欢迎页面来使用,结构简单,替换图片就可以放入你的项目中 另外,没有积分的同学 到...
基于jQuery carousel图片叠加旋转木马轮播切换效果,只要引入就可以 使用非常简单,基于jQuery carousel图片叠加旋转木马轮播切换效果,只要引入就可以 使用非常简单,