如何制造滑动图片公告的效果
2015-01-02 23:16
148 查看
在网上找了个代码自己修改了一下,但是不知道为什么在修改的时候调用这个文件时总是显示中文乱码。这个下次再详细说,先来说说滑动图片效果是怎么实现的吧。
先定义好style,使用.imgview块来定义好图片以及边框的样字。放在head里面。<!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" />
<link rel="stylesheet" href="css/1.css" type = "text/css">
<style>
.imgview {
width: 640px;
height: 472px;
margin: 5px auto;
border: 3px solid #f6f6f6;
overflow: hidden;
}
.imgview img {
width: 640px;
height: 472px;
}
.imgview-nav {
width: 640px;
margin: 10px auto;
border: 2px solid #f6f6f6;
list-style-type: none;
}
.imgview-nav li {
float: left;
width: 15px;
height: 15px;
background: #b4d0eb;
border: 1px solid #f6f6f6;
margin: 7px;
}
span {
display: inline-block;
//内联元素,简单来说就是在同一行显示。
width: 30px;
height: 30px;
background: #b4d0eb;
border-radius: 50%;
}
</style>
</head>将图片已建表格形式(一行n列)插入到表格中,定义图片的编号,进行移动。注意使用function先定义好方法再调用。
<body>
<div class="wrap">
<div class="imgview" id="imgView">
<table cellspacing="0" cellpadding="0">
<tr>
<td><a href="bookstory1.php"><img src="pic1.jpg" alt=""></a></td>
<td><a href="bookstory2.php"><img src="pic2.jpg" alt=""></a></td>
<td><img src="pic3.jpg" alt=""></td>
</tr>
</table>
</div>
<ul class="imgview-nav" id="imgviewNav">
<li> 1</li>
<li> 2</li>
<li> 3</li>
</ul>
<span> Left </span>
<span> Right </span>
</div>
<script>
var imgView = document.getElementById('imgView'),
imgWidth = imgView.getElementsByTagName('img'),
btn = document.getElementsByTagName('li'),
len = btn.length,
imgNum = 0,
endPos = 0,
timer = null,
timer2 = null,
conSpan = document.getElementsByTagName('span');
conSpan[0].onclick = function (){
if (timer) {
clearInterval(timer);
};
if (timer2) {
clearInterval(timer2);
};
imgNum--;
if (imgNum < 0 ) {
imgNum = len;
};
timer = setInterval(move, 16);
timer2 = setInterval(autoMove, 3000);
}
conSpan[1].onclick = function (){
if (timer) {
clearInterval(timer);
};
if (timer2) {
clearInterval(timer2);
};
imgNum++;
if (imgNum == len ) {
imgNum = 0;
};
timer = setInterval(move, 16);
timer2 = setInterval(autoMove, 3000);
}
//绑定事件。添加移动效果
for (var i = 0; i < len; i++) {
btn[i].index = i;
btn[i].onmouseover = function(){
clearInterval(timer2);
imgNum = this.index;
if (timer) {
clearInterval(timer);
};
timer = setInterval(move, 16);
}
btn[i].onmouseout = function(){
timer2 = setInterval(autoMove, 2000);
}
};
//图片缓动效果,原理是保持步数不变,改变距离的同时改变速度
function move(){
var starPos = imgView.scrollLeft,
speed;
endPos = imgNum * imgWidth[0].offsetWidth;
speed = (endPos - starPos) / 20;
if (speed == 0) {
clearInterval(timer);
} else if(speed > 0){
speed = Math.ceil(speed);
} else {
speed = Math.floor(speed);
}
imgView.scrollLeft = starPos + speed;
}
//控制图片的自动滚动,通过控制索引值来控制图片的自动滚动
function autoMove(){
imgNum++;
if(imgNum == len) {
imgNum = 0;
};
timer = setInterval(move, 20);
}timer2 = setInterval(autoMove, 2000);
</script>
</body>
主界面有一个滑动感觉比以前酷炫多了。如下图:
先定义好style,使用.imgview块来定义好图片以及边框的样字。放在head里面。<!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" />
<link rel="stylesheet" href="css/1.css" type = "text/css">
<style>
.imgview {
width: 640px;
height: 472px;
margin: 5px auto;
border: 3px solid #f6f6f6;
overflow: hidden;
}
.imgview img {
width: 640px;
height: 472px;
}
.imgview-nav {
width: 640px;
margin: 10px auto;
border: 2px solid #f6f6f6;
list-style-type: none;
}
.imgview-nav li {
float: left;
width: 15px;
height: 15px;
background: #b4d0eb;
border: 1px solid #f6f6f6;
margin: 7px;
}
span {
display: inline-block;
//内联元素,简单来说就是在同一行显示。
width: 30px;
height: 30px;
background: #b4d0eb;
border-radius: 50%;
}
</style>
</head>将图片已建表格形式(一行n列)插入到表格中,定义图片的编号,进行移动。注意使用function先定义好方法再调用。
<body>
<div class="wrap">
<div class="imgview" id="imgView">
<table cellspacing="0" cellpadding="0">
<tr>
<td><a href="bookstory1.php"><img src="pic1.jpg" alt=""></a></td>
<td><a href="bookstory2.php"><img src="pic2.jpg" alt=""></a></td>
<td><img src="pic3.jpg" alt=""></td>
</tr>
</table>
</div>
<ul class="imgview-nav" id="imgviewNav">
<li> 1</li>
<li> 2</li>
<li> 3</li>
</ul>
<span> Left </span>
<span> Right </span>
</div>
<script>
var imgView = document.getElementById('imgView'),
imgWidth = imgView.getElementsByTagName('img'),
btn = document.getElementsByTagName('li'),
len = btn.length,
imgNum = 0,
endPos = 0,
timer = null,
timer2 = null,
conSpan = document.getElementsByTagName('span');
conSpan[0].onclick = function (){
if (timer) {
clearInterval(timer);
};
if (timer2) {
clearInterval(timer2);
};
imgNum--;
if (imgNum < 0 ) {
imgNum = len;
};
timer = setInterval(move, 16);
timer2 = setInterval(autoMove, 3000);
}
conSpan[1].onclick = function (){
if (timer) {
clearInterval(timer);
};
if (timer2) {
clearInterval(timer2);
};
imgNum++;
if (imgNum == len ) {
imgNum = 0;
};
timer = setInterval(move, 16);
timer2 = setInterval(autoMove, 3000);
}
//绑定事件。添加移动效果
for (var i = 0; i < len; i++) {
btn[i].index = i;
btn[i].onmouseover = function(){
clearInterval(timer2);
imgNum = this.index;
if (timer) {
clearInterval(timer);
};
timer = setInterval(move, 16);
}
btn[i].onmouseout = function(){
timer2 = setInterval(autoMove, 2000);
}
};
//图片缓动效果,原理是保持步数不变,改变距离的同时改变速度
function move(){
var starPos = imgView.scrollLeft,
speed;
endPos = imgNum * imgWidth[0].offsetWidth;
speed = (endPos - starPos) / 20;
if (speed == 0) {
clearInterval(timer);
} else if(speed > 0){
speed = Math.ceil(speed);
} else {
speed = Math.floor(speed);
}
imgView.scrollLeft = starPos + speed;
}
//控制图片的自动滚动,通过控制索引值来控制图片的自动滚动
function autoMove(){
imgNum++;
if(imgNum == len) {
imgNum = 0;
};
timer = setInterval(move, 20);
}timer2 = setInterval(autoMove, 2000);
</script>
</body>
主界面有一个滑动感觉比以前酷炫多了。如下图:
相关文章推荐
- 图片如何实现滑动效果
- 按下按钮后页面的滚动条向下(或向上)滑动,松开之后便停留在当前位置的效果如何实现?
- 按下按钮后页面的滚动条向下(或向上)滑动,松开之后便停留在当前位置的效果如何实现?
- JavaScript 图片滑动展示效果 转载自http://www.cnblogs.com/cloudgamer/
- JavaScript 图片滑动切换效果
- .net中如何生成Flash式的图片切换效果
- 如何实现立体的DataGrid和具有Windows效果的图片按钮
- 请问高手,如何制作Flash效果的图片轮播
- 如何实现立体的DataGrid和具有Windows效果的图片按钮
- [转载]JavaScript 图片滑动切换效果
- JS+Flash图片轮换/切换--上下滑动效果
- [WinForm每日一贴] 如何实现UltraGrid中的图片按钮效果
- JavaScript 图片滑动切换效果
- JavaScript 图片滑动展示效果
- [转载]JavaScript 图片滑动切换效果
- asp如何实现图片的动态翻动的效果
- JavaScript 图片滑动展示效果
- 如何用CSS实现文字环绕图片的效果
- [导入]如何实现立体的DataGrid和具有Windows效果的图片按钮
- JQUERY演示图片上下滑动展示效果