JS焦点图切换,上下翻转


Posted in Javascript onMay 12, 2011
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>mypaly</title> 
<style type="text/css"> 
* { margin:0; padding:0;} 
ul, li { list-style:none;} 
body{ 
text-align:center; 
} 
#play{ 
width:400px; 
height:300px; 
position:absolute; 
left:50%; 
top:50%; 
margin:-155px 0 0 -205px; 
overflow:hidden; } 
#playimg{ 
width:400px; 
height:300px; 
position:absolute; 
} 
#playimg li{ 
height:300px; 
overflow:hidden; 
} 
#playimg img{ 
width:400px; 
height:300px; 
} 
#playbtn{ 
position:absolute; 
left:0; 
bottom:5px; 
} 
#playbtn li{ 
display:inline; 
background:#eee; 
padding:2px 5px; 
margin:0 3px; 
cursor:pointer; 
} 
#playbtn .current{ 
background:#f0f; 
} 
</style> 
<script type="text/javascript"> 
function $(id){return document.getElementById(id)} 
function moveElement(elementID,final_x,final_y,interval) {//这个方法在DOM艺术那个书上讲的很清楚 
if (!document.getElementById) return false; 
if (!document.getElementById(elementID)) return false; 
var elem = document.getElementById(elementID); 
if (elem.movement) { 
clearTimeout(elem.movement); 
} 
if (!elem.style.left) { 
elem.style.left = "0px"; 
} 
if (!elem.style.top) { 
elem.style.top = "0px"; 
} 
var xpos = parseInt(elem.style.left); 
var ypos = parseInt(elem.style.top); 
if (xpos == final_x && ypos == final_y) { 
return true; 
} 
if (xpos < final_x) { 
var dist = Math.ceil((final_x - xpos)/10); 
xpos = xpos + dist; 
} 
if (xpos > final_x) { 
var dist = Math.ceil((xpos - final_x)/10); 
xpos = xpos - dist; 
} 
if (ypos < final_y) { 
var dist = Math.ceil((final_y - ypos)/10); 
ypos = ypos + dist; 
} 
if (ypos > final_y) { 
var dist = Math.ceil((ypos - final_y)/10); 
ypos = ypos - dist; 
} 
elem.style.left = xpos + "px"; 
elem.style.top = ypos + "px"; 
var repeat = "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")"; 
elem.movement = setTimeout(repeat,interval); 
} 
function imgChange(num){//切换图片焦点 
if(!$('play')) return false; 
var piclist=$('playimg').getElementsByTagName('img'); 
var imgheight=piclist[0].offsetHeight; 
var moveY=-(imgheight*num); 
moveElement('playimg',0,moveY,5); 
} 
function classToggle(arr,n){//切换按钮样式 
for(var i=0;i<arr.length;i++){ 
arr[i].className=''; 
} 
arr[n].className='current'; 
} 
function btnChange(btns){//鼠标移动播放 
if(!$(btns)) return false; 
$('play').onmouseover = function(){autokey = false}; 
$('play').onmouseout = function(){autokey = true}; 
var arr=$(btns).getElementsByTagName('li'); 
for(var i=0;i<arr.length;i++){ 
arr[i].index=i;//设置索引号 
arr[i].onmouseover=function(){ 
//var num=index(this,arr); 
classToggle(arr,this.index); 
imgChange(this.index); 
} 
} 
} 
function autoChange(btns){ 
if(!$(btns)) return false; 
if(!autokey) return false; 
var arr=$(btns).getElementsByTagName('li'); 
for(var i=0;i<arr.length;i++){ 
if(arr[i].className=='current'){ 
var n=i+1; 
} 
} 
if(n>=arr.length) n=0; 
classToggle(arr,n); 
imgChange(n); 
} 
var autokey = true; 
setInterval("autoChange('playbtn')",3000); 
window.onload=function(){ 
btnChange('playbtn'); 
} 
</script> 
</head> 
<body> 
<div id="play"> 
<ul id="playimg"> 
<li><img src="../images/Blue hills.jpg" alt="" /></li> 
<li><img src="../images/Sunset.jpg" alt="" /></li> 
<li><img src="../images/Water lilies.jpg" alt="" /></li> 
<li><img src="../images/Winter.jpg" alt="" /></li> 
</ul> 
<ul id="playbtn"><li class="current">1</li><li>2</li><li>3</li><li>4</li></ul> 
</div> 
</body> 
</html>
Javascript 相关文章推荐
Js数组的操作push,pop,shift,unshift等方法详细介绍
Dec 28 Javascript
JS控制输入框内字符串长度
May 21 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
Mar 30 Javascript
jquery 抽奖小程序实现代码
Oct 12 Javascript
VUE多层路由嵌套实现代码
May 15 Javascript
jQuery中.attr()和.data()的区别分析
Sep 03 jQuery
vue自定义指令directive实例详解
Jan 17 Javascript
react+ant design实现Table的增、删、改的示例代码
Dec 27 Javascript
微信小程序实现Session功能及无法获取session问题的解决方法
May 07 Javascript
了解javascript中let和var及const关键字的区别
May 24 Javascript
webpack的pitching loader详解
Sep 23 Javascript
layui+jquery支持IE8的表格分页方法
Sep 28 jQuery
js 中{},[]中括号,大括号使用详解
May 12 #Javascript
JS Range HTML文档/文字内容选中、库及应用介绍
May 12 #Javascript
JavaScript中的几个关键概念的理解-原型链的构建
May 12 #Javascript
Jqyery中同等与js中windows.onload的应用
May 10 #Javascript
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
May 10 #Javascript
JavaScript中为元素加上name属性的方法
May 09 #Javascript
JavaScript 放大镜 移动镜片效果代码
May 09 #Javascript
You might like
thinkPHP3.2简单实现文件上传的方法
2016/05/16 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
2017/08/17 PHP
jquery模拟LCD 时钟的html文件源代码
2014/06/16 Javascript
JS Array创建及concat()split()slice()的使用方法
2016/06/03 Javascript
微信小程序 form组件详解
2016/10/25 Javascript
jQuery通过ajax快速批量提交表单数据
2016/10/25 Javascript
学习vue.js中class与style绑定
2016/12/03 Javascript
js操作浏览器的参数方法
2017/01/21 Javascript
jquery实现左右轮播切换效果
2018/01/01 jQuery
Vue-cli配置打包文件本地使用的教程图解
2018/08/02 Javascript
微信公众平台 发送模板消息(Java接口开发)
2019/04/17 Javascript
jQuery中DOM操作原则实例分析
2019/08/01 jQuery
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
Vue自定义组件双向绑定实现原理及方法详解
2020/09/03 Javascript
[01:38]女王驾到——至宝魔廷新尊技能&特效展示
2020/06/16 DOTA
python列表去重的二种方法
2014/02/14 Python
用Python和MD5实现网站挂马检测程序
2014/03/13 Python
python多线程操作实例
2014/11/21 Python
Python通过poll实现异步IO的方法
2015/06/04 Python
python爬虫_实现校园网自动重连脚本的教程
2018/04/22 Python
python实现简单tftp(基于udp协议)
2018/07/30 Python
Windows下Anaconda2安装NLTK教程
2018/09/19 Python
使用K.function()调试keras操作
2020/06/17 Python
植村秀加拿大官网:Shu Uemura加拿大
2019/09/03 全球购物
医校毕业生自我鉴定
2014/01/25 职场文书
2014年新生军训方案
2014/05/01 职场文书
质量月口号
2014/06/20 职场文书
财会专业毕业生自荐信
2014/07/09 职场文书
县政府办公室领导班子对照检查材料思想汇报
2014/09/28 职场文书
教师个人工作总结范文2014
2014/11/10 职场文书
2015年药店工作总结
2015/04/20 职场文书
2015小学语文教师个人工作总结
2015/05/20 职场文书
导游词书写之黄山
2019/08/06 职场文书
Python selenium模拟网页点击爬虫交管12123违章数据
2021/05/26 Python
Nginx部署vue项目和配置代理的问题解析
2021/08/04 Servers
「租借女友」第2季樱泽墨角色PV&新视觉图公开
2022/03/21 日漫