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前台判断开始时间是否小于结束时间
Feb 23 Javascript
精心挑选的15个jQuery下拉菜单制作教程
Jun 15 Javascript
Javascript玩转继承(二)
May 08 Javascript
node.js中的buffer.slice方法使用说明
Dec 10 Javascript
基于jquery实现可定制的web在线富文本编辑器附源码下载
Nov 17 Javascript
AngularJS 自定义指令详解及示例代码
Aug 17 Javascript
AngularJS  自定义指令详解及实例代码
Sep 14 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
Jan 22 Javascript
vue拦截器Vue.http.interceptors.push使用详解
Apr 22 Javascript
vue+express 构建后台管理系统的示例代码
Jul 19 Javascript
vue中如何自定义右键菜单详解
Dec 08 Vue.js
TypeScript实用技巧 Nominal Typing名义类型详解
Sep 23 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
Protoss热键控制
2020/03/14 星际争霸
WordPress中用于检索模版的相关PHP函数使用解析
2015/12/15 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
2016/11/20 PHP
PhpStorm本地断点调试的方法步骤
2018/05/21 PHP
jquery在Chrome下获取图片的长宽问题解决
2013/03/20 Javascript
JS中获取数据库中的值的方法
2013/07/14 Javascript
删除select中所有option选项jquery代码
2013/08/12 Javascript
js单例模式的两种方案
2013/10/22 Javascript
JS的参数传递示例介绍
2014/02/08 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
基于jQuery实现瀑布流页面
2017/04/11 jQuery
微信小程序网络请求wx.request详解及实例
2017/05/18 Javascript
微信小程序实现两个页面传值的方法分析
2018/12/11 Javascript
js中call()和apply()改变指针问题的讲解
2019/01/17 Javascript
vue项目中引入vue-datepicker插件的详解
2019/05/14 Javascript
微信小程序 拍照或从相册选取图片上传代码实例
2019/08/28 Javascript
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
JS实现星星海特效
2019/12/24 Javascript
Nodejs + Websocket 指定发送及群聊的实现
2020/01/09 NodeJs
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
Vertx基于EventBus发送接受自定义对象
2020/11/16 Javascript
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
[41:17]完美世界DOTA2联赛PWL S3 access vs CPG 第二场 12.13
2020/12/17 DOTA
解决python3中自定义wsgi函数,make_server函数报错的问题
2017/11/21 Python
Python内存管理实例分析
2019/07/10 Python
Python3+Requests+Excel完整接口自动化测试框架的实现
2019/10/11 Python
python使用selenium爬虫知乎的方法示例
2020/10/28 Python
ESDlife健康生活易:身体检查预订、搜寻及比较
2019/05/10 全球购物
Probikekit欧盟:在线公路自行车专家
2019/07/12 全球购物
德国大型箱包和皮具商店:Koffer
2019/10/01 全球购物
工程承诺书怎么写
2014/05/24 职场文书
物理分数没达标检讨书
2014/09/13 职场文书
预备党员转正思想汇报
2014/09/26 职场文书
升学宴学生致辞
2015/09/29 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书
2019学子的答谢词范本!
2019/07/05 职场文书