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 相关文章推荐
top.location.href 没有权限 解决方法
Aug 05 Javascript
JQuery 浮动导航栏实现代码
Aug 27 Javascript
javascript suggest效果 自动完成实现代码分享
Feb 17 Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
Apr 17 Javascript
JavaScript加强之自定义callback示例
Sep 21 Javascript
jQuery实现响应鼠标背景变化的动态菜单效果代码
Aug 27 Javascript
js实现PC端根据IP定位当前城市地理位置
Feb 22 Javascript
vue.js template模板的使用(仿饿了么布局)
Aug 13 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
Apr 04 Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
May 30 Javascript
js实现带搜索功能的下拉框
Jan 11 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
Nov 18 Vue.js
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 应用程序安全防范技术研究
2009/09/25 PHP
PHP循环语句笔记(foreach,list)
2011/11/29 PHP
php json转换成数组形式代码分享
2014/11/10 PHP
php+xml实现在线英文词典之添加词条的方法
2015/01/23 PHP
php实现删除空目录的方法
2015/03/16 PHP
php实现图片等比例缩放代码
2015/07/23 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
jQuery帮助之筛选查找 children([expr])
2011/01/31 Javascript
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
jquery 实现上下滚动效果示例代码
2013/08/09 Javascript
用html+css+js实现的一个简单的图片切换特效
2014/05/28 Javascript
Javascript中使用A标签获取当前目录的绝对路径方法
2015/03/02 Javascript
jQuery插件制作之全局函数用法实例
2015/06/01 Javascript
基于Bootstrap实现图片轮播效果
2016/05/22 Javascript
HTML中setCapture、releaseCapture 使用方法浅析
2016/09/25 Javascript
详解JavaScript树结构
2017/01/09 Javascript
基于JavaScript实现淘宝商品广告效果
2017/08/10 Javascript
解决Vue打包之后文件路径出错的问题
2018/03/06 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
2020/12/30 Vue.js
关于javascript中的promise的用法和注意事项(推荐)
2021/01/15 Javascript
[01:51]历届DOTA2国际邀请赛举办地回顾 TI9落地上海
2018/08/26 DOTA
python基础教程之获取本机ip数据包示例
2014/02/10 Python
Python常见MongoDB数据库操作实例总结
2018/07/24 Python
Python获取Redis所有Key以及内容的方法
2019/02/19 Python
python装饰器代替set get方法实例
2019/12/19 Python
详解Python流程控制语句
2020/10/28 Python
Django REST Framework 分页(Pagination)详解
2020/11/30 Python
韩国美国时尚服装和美容在线全球市场:KOODING
2018/11/07 全球购物
淘宝店铺营销方案
2014/02/13 职场文书
篮球兴趣小组活动总结
2014/07/07 职场文书
《改造我们的学习》心得体会
2014/11/07 职场文书
论文致谢词范文
2015/05/14 职场文书
责任书格式
2019/04/18 职场文书
GoLang中生成UUID唯一标识的实现
2021/05/08 Golang
彻底卸载VMware虚拟机的超详细步骤记录
2022/07/15 Servers
jdbc中自带MySQL 连接池实践示例
2022/07/23 MySQL