html

<div class="nav" >
<div class="nav_son" id="nav">
<div class="nav_cont img_1">
<div class="nav_img "><img src="data:images/001_03.png" width="" height="" /></div>
</div>
<div class="nav_cont img_2">
<div class="nav_img "><img src="data:images/001_05.png" width="" height="" /></div>
</div>
<div class="nav_cont img_3">
<div class="nav_img"><img src="data:images/banner1_01.png" width="" height="" /></div>
</div>
<div class="nav_cont img_4">
<div class="nav_img"><img src="data:images/nav005_03.png" width="" height="" /></div>
</div>
</div>
<div class="nav_but">
<ul class="nav_but_ul" id="butUl">
<li class="check"></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
</div>

css

*{ margin:; padding:;}
ul ,li { list-style:none;}
.nav {
height: 525px;
width: 100%;
position:relative;
overflow:hidden; }
.nav_cont {
background-repeat: no-repeat;
background-position: center top;
position:absolute;
top:0px;
width:100%; height:100%;
left:-100%;
} .nav_son {width: 100%; height:100%; position:absolute;left:100%; }
.img_1 { background-image:url(images/003_006bg.jpg)}
.img_2 { background-image:url(images/003_005bg.jpg)}
.img_3 { background-image:url(images/banner1.jpg)}
.img_4 { background-image:url(images/nav005.jpg)}
.nav_img { position:absolute; left:50%; margin-left:-600px; }
.nav .nav_but {
width: 100%;
position: absolute;
bottom: 10px;
z-index:;
}
.nav_but_ul { overflow:auto; width:120px; margin:0 auto;height: 20px;}
.nav_but_ul li { float:left; width:14px; height:14px; background:url(images/1CdeO2mZF63.PNG); text-indent:-9999px; cursor:pointer; margin-right:5px ;background-position:-14px 0px;}
.nav_but_ul li.check { background-position:0px 0px;}

js

var nav = document.getElementById("nav");
var list = document.querySelectorAll("#nav>div");
var nowNum = 0 ;
var start = 4 ;
var butList = document.querySelectorAll("#butUl>li");
var timer = null;
window.onload = function (){
list[nowNum].style.zIndex = 9 ; for (var i=0; i<butList.length;i++){
butList[i].setAttribute("index",i);
}
isAddEvent(1);
setTimeout(init,7000)
} ;
function func (e){
e = e || window.event ;
if(e.target){ var ele = e.target}
else if (e.srcElement){
var ele = e.srcElement
}
var num = parseInt( ele.getAttribute("index")); init(num);
}
function init(num){
if(num != null){
goImg =num ;
if (goImg == nowNum ){
return ;
}
}
else {
goImg = nowNum+1 ; }
if(goImg == 4){goImg= 0 ;}
list[goImg].style.left = "0px";
move(goImg);
if(timer){clearTimeout(timer);timer = setTimeout(init,7000); }
else {
timer = setTimeout(init,7000);
} } function isAddEvent (isBut){ for (var i=0; i<butList.length;i++){
if(isBut){listenEvent(butList[i],"click",func);}
else {stopListening(butList[i],"click",func);}
} } function move (goImg){ isAddEvent(0);
this.goImg = goImg;
var sonImg = list[nowNum].getElementsByTagName("div")[0];
var sonNowPos = GetCurrentStyle(sonImg,"left");
var nex = /%$/g ;
var nowPosition = GetCurrentStyle(nav,"left"); if(nex.test(sonNowPos)){
sonNowPos = parseInt(sonNowPos)/100 * document.body.clientWidth;
} else { sonNowPos = parseInt(sonNowPos);}
if(nex.test(nowPosition)){
nowPosition =parseInt(nowPosition)/100 * document.body.clientWidth;
} else { nowPosition = parseInt(nowPosition);}
//console.log(nowNum,goImg);
var butList = document.querySelectorAll("#butUl>li"); for (var i=0; i<butList.length;i++){butList[i].className = "" }
butList[goImg].className = "check ";
start*= 1.5 ; sonNowPos =Math.floor(sonNowPos-start);
sonImg.style.left = sonNowPos+"px";
time = setTimeout("move(this.goImg)",100); if(sonNowPos<300){ nowPosition-=document.body.clientWidth/10;
nav.style.left = nowPosition+"px"; }
console.log(nowPosition);
if(nowPosition<=0){
nav.style.left = "100%"
sonImg.style.left = "50%";
sonImg.removeAttribute("style");
list[nowNum].style.zIndex = 0 ;
list[nowNum].removeAttribute("style");
list[goImg].removeAttribute("style");
list[goImg].style.zIndex = 9 ; nowNum = goImg;
start=4;
isAddEvent(1);
clearTimeout(time);
}
} // 侦听
function listenEvent(eventTarget,eventType,eventHandler){
if(eventTarget.addEventListener){
eventTarget.addEventListener(eventType,eventHandler)
}
else if (eventTarget.attachEvent){
eventType = "on" +eventType ;
eventTarget.attachEvent(eventType,eventHandler)
}
else {
eventTarget["on"+eventType]=eventHandler;
}
}
// 停止侦听
function stopListening(eventTarget,eventType,eventHandler){
if(eventTarget.removeEventListener){
eventTarget.removeEventListener(eventType,eventHandler);
}
else if (eventTarget.detachEvent){
eventType = "on" +eventType ;
eventTarget.detachEvent(eventType,eventHandler);
}
else {
eventTarget["on"+eventType]=null;
}
} //获得样式
function GetCurrentStyle (obj, prop)
{
if (obj.currentStyle) //IE
{
return obj.currentStyle[prop];
}
else if (window.getComputedStyle) //非IE
{
propprop = prop.replace (/([A-Z])/g, "-$1");
propprop = prop.toLowerCase ();
return document.defaultView.getComputedStyle(obj,null)[propprop];
}
return null;
}
ps:可能有点小BUG,但是我目前看不出来哪里出问题了。求高手解决。

最新文章

  1. 【Android 开发】: Android 消息处理机制之一: Handler 与 Message
  2. ECIF OCRM ACRM关系
  3. AlwaysOn可用性组功能测试(三)--其他测试
  4. 如何搭建一个linux服务器
  5. session204 imessageApp sticker part I要点
  6. google map api v2的使用详细过程,图文并茂(原创)
  7. ExtJs尝下鲜
  8. hdoj 2040
  9. cocos2d-x游戏开发系列教程-坦克大战游戏之虚拟手柄的显示
  10. 后台使用oracle前台使用easyui分页机制
  11. 辛星分析html中间name和id 差额
  12. JS属性操作
  13. 多个Fragment的分开管理方案
  14. 图片像素对比OpenCV实现,实现人工分割跟算法分割图像结果的对比
  15. 一篇博客带你入门Flask
  16. npm install 报错Unexpected end of JSON input while parsing near...
  17. eclipse的调试模式以及断点运行
  18. [calss*=&quot;col-&quot;]匹配类名中包含col-的类名,^以col-开头,$以col-结尾
  19. 【转载】 强化学习(四)用蒙特卡罗法(MC)求解
  20. 多媒体文件格式之TS

热门文章

  1. Linux on Power 上的调试工具和技术
  2. Pick-up sticks(判断两条线段是否相交)
  3. 【转】Java 字符串常用操作(String类)
  4. delphi record 内存怎么释放
  5. 自己做的网页页面导航浏览JS/JQuery_版本2(优化边缘)
  6. N - Find a way
  7. hdu 3553 Just a String (后缀数组)
  8. AbpZero--4.不使用谷歌字体,提升加载速度
  9. 使用iScroll和photoswipe写手机浏览图片的插件的几点经验
  10. Android系统中设置TextView的行间距(非行高)