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 相关文章推荐
JavaScript中操作字符串小结
May 04 Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
Dec 10 Javascript
基于JavaScript实现本地图片预览
Feb 08 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
May 05 jQuery
二维码图片生成器QRCode.js简单介绍
Aug 18 Javascript
浅谈Node.js爬虫之网页请求模块
Jan 11 Javascript
Vue高版本中一些新特性的使用详解
Sep 25 Javascript
深入学习JavaScript中的bom
May 27 Javascript
vue css 引入asstes中的图片无法显示的四种解决方法
Mar 16 Javascript
Vue 监听元素前后变化值实例
Jul 29 Javascript
在vue中使用cookie记住用户上次选择的实例(本次例子中为下拉框)
Sep 11 Javascript
5个实用的JavaScript新特性
Jun 16 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实现插入排序?
2013/04/10 PHP
PHP获取指定月份第一天和最后一天的方法
2015/07/18 PHP
Symfony核心类概述
2016/03/17 PHP
phpStudy 2016 使用教程详解(支持PHP7)
2017/10/18 PHP
ie 处理 gif动画 的onload 事件的一个 bug
2007/04/12 Javascript
基于jquery.Jcrop的头像编辑器
2010/03/01 Javascript
jQuery 事件的命名空间简单了解
2013/11/22 Javascript
Jquery $.getJSON 在IE下的缓存问题解决方法
2014/10/10 Javascript
js实现鼠标悬浮给图片加边框的方法
2015/01/30 Javascript
基于jQuery实现收缩展开功能
2016/03/18 Javascript
checkbox 选中一个另一个checkbox也会选中的实现代码
2016/07/09 Javascript
微信小程序 表单Form实例详解(附源码)
2016/12/22 Javascript
Bootstrap页面标题Page Header的实现方法
2017/03/22 Javascript
jquery操作ul的一些操作笔记整理(干货)
2017/08/31 jQuery
基于VUE.JS的移动端框架Mint UI的使用
2017/10/11 Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
2017/12/22 Javascript
深入理解ES6之数据解构的用法
2018/01/13 Javascript
vue.js与element-ui实现菜单树形结构的解决方法
2018/04/21 Javascript
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
JavaScript实现简单的隐藏式侧边栏功能示例
2018/08/31 Javascript
Nodejs实现用户注册功能
2019/04/14 NodeJs
解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题
2019/09/25 Javascript
使用Vant完成通知栏Notify的提示操作
2020/11/11 Javascript
Python中return语句用法实例分析
2015/08/04 Python
Python中xml和json格式相互转换操作示例
2018/12/05 Python
局域网内python socket实现windows与linux间的消息传送
2019/04/19 Python
详解Python下载图片并保存本地的两种方式
2019/05/15 Python
Django应用程序入口WSGIHandler源码解析
2019/08/05 Python
python日志通过不同的等级打印不同的颜色(示例代码)
2021/01/13 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
CSS3+JavaScript实现炫酷呼吸效果的示例代码
2020/06/15 HTML / CSS
英国外籍人士的在线超市:British Corner Shop
2019/06/03 全球购物
物理系毕业生自荐书
2014/06/13 职场文书
竞选班干部演讲稿500字
2014/08/20 职场文书
2015年生活老师工作总结
2015/05/27 职场文书
Win11 引入 Windows 365 云操作系统,适应疫情期间混合办公模式:启动时直接登录、模
2022/04/06 数码科技