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 相关文章推荐
跨浏览器的设置innerHTML方法
Sep 18 Javascript
javascript 二维数组的实现与应用
Mar 16 Javascript
javascript 自动填写表单的实现方法
Apr 09 Javascript
通过JS获取用户本地图片路径并显示的代码
Feb 16 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
Apr 14 Javascript
JavaScript学习小结(一)——JavaScript入门基础
Sep 02 Javascript
利用jQuery对无序列表排序的简单方法
Oct 16 Javascript
微信小程序 获取二维码实例详解
Jun 23 Javascript
JS中Attr的用法详解
Oct 09 Javascript
详解如何用babel转换es6的class语法
Apr 03 Javascript
vue+axios+mock.js环境搭建的方法步骤
Aug 28 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【凹多边形的分离轴检测算法】
Dec 13 Javascript
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
让PHP支持断点续传的源码
2010/05/16 PHP
php图片加水印原理(超简单的实例代码)
2013/01/18 PHP
探讨捕获php错误信息方法的详解
2013/06/09 PHP
如何实现php图片等比例缩放
2015/07/28 PHP
php htmlentities()函数的定义和用法
2016/05/13 PHP
PHP使用Redis实现Session共享的实现示例
2019/05/12 PHP
解决laravel id非自增 模型取回为0 的问题
2019/10/11 PHP
php把文件设置为插件的技巧方法
2020/02/03 PHP
疯掉了,尽然有js写的操作系统
2007/04/23 Javascript
用javascript实现读取txt文档的脚本
2007/07/20 Javascript
关于this和self的使用说明
2010/08/01 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
2013/12/05 Javascript
jquery实现页面关键词高亮显示的方法
2015/03/12 Javascript
javascript实现dom元素可拖动
2016/03/21 Javascript
js 函数式编程学习笔记
2017/03/25 Javascript
深入理解Node module模块
2018/03/26 Javascript
在vue使用clipboard.js进行一键复制文本的实现示例
2019/01/15 Javascript
微信小程序用户盒子、宫格列表的实现
2020/07/01 Javascript
关于ES6尾调用优化的使用
2020/09/11 Javascript
Python psutil模块简单使用实例
2015/04/28 Python
python连接MySQL数据库实例分析
2015/05/12 Python
Python for循环生成列表的实例
2018/06/15 Python
关于python写入文件自动换行的问题
2018/06/23 Python
Python实现对特定列表进行从小到大排序操作示例
2019/02/11 Python
Python Collatz序列实现过程解析
2019/10/12 Python
python用WxPython库实现无边框窗体和透明窗体实现方法详解
2020/02/21 Python
CSS3实现翘边的阴影效果的代码示例
2016/06/13 HTML / CSS
施华洛世奇天猫官方旗舰店:SWAROVSKI
2017/04/17 全球购物
美国眼镜网:GlassesUSA
2017/09/07 全球购物
阿里健康官方海外旗舰店:阿里健康国际自营
2017/11/24 全球购物
IFCHIC台湾:欧美国际设计师品牌
2019/05/18 全球购物
工厂门卫岗位职责范本
2014/04/04 职场文书
客户答谢会活动方案
2014/08/31 职场文书
专家推荐信范文
2015/03/26 职场文书
幼儿园万圣节活动总结
2015/05/05 职场文书
最新最全的手机号验证正则表达式
2022/02/24 Javascript