当前位置: 首页 > 图文教程 > 网络编程 > Javascript > js jquery做的图片连续滚动代码

Javascript
JavaScript中全局变量、函数内变量以及常量表达式的效率测试
写出更好的JavaScript之undefined篇(上)
Javascript 刷新全集常用代码
传智播客学习之java 反射
javascript DOM编程实例(智播客学习)
javascript 在网页中的运用(asp.net)
通过身份证号得到出生日期和性别的js代码
写出更好的JavaScript程序之undefined篇(中)
js获取图片长和宽度的代码
js cookies实现简单统计访问次数
根据鼠标的位置动态的控制层的位置
dropdownlist之间的互相联动实现(显示与隐藏)
javascript select控件间内容互相移动
asp.net下利用js实现返回上一页的实现方法小集
JavaScript 利用StringBuffer类提升+=拼接字符串效率
JS 实现双色表格实现代码
利用JavaScript更改input中radio和checkbox样式
jquery.ui.draggable中文文档
js loading加载效果实现代码
JS 倒计时实现代码(时、分,秒)

Javascript 中的 js jquery做的图片连续滚动代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 333 ::
收藏到网摘: n/a

有bug..点到后面的图片后,再返回 ..... 问题出现了...

核心代码如下,大家可以参考

复制代码 代码如下:

<script src="/js/jquery.js"></script>
<script>
$(document).ready(function(){
$(".bannerbutton li").each(
function(){
$(this).click(
function(){
bannerGo($(this).attr("num"));
}
)
}
)
$(".img li:last").html($(".img li:first").html());
});
var active=1;//当前显示第1个
var picNum=4;//4个图转换
var time=500;//移动速度
var intTime=3000;//自动转换间隔时间
var width=568; //图片宽
var perDistance=57;//每次移动距离
var tagObj=0;
var marquee;
var autoMarquee;
var distance;
var tmpDistance=0;
var listLeft=0;
var tagLeft=0;
var move=false;

function bannerGo(tag){
if(active != tag){
if(!move){
listLeft=parseInt($(".banner ul.img").css("left"));
distance=(tag-active)*width;
tmpDistance=0;
perTime=parseInt(time*perDistance/distance);
if(tag>active){
tagLeft=listLeft-distance;
marquee=setInterval("Marquee(1)",perTime)
}else{
tagLeft=listLeft-distance;
marquee=setInterval("Marquee(0)",perTime)
}
active=Number(tag);
if(active==picNum+1)
active=1;
move=true;
}
}
}
function Marquee(t){
var x=false;
if(t==0){
listLeft=listLeft+perDistance;
if((tagLeft-listLeft)>=perDistance){
$(".banner ul.img").css("left",listLeft+"px");
}else{
$(".banner ul.img").css("left",tagLeft+"px");
x=true;
}
}else{
listLeft=listLeft-perDistance;
if((tagLeft-listLeft)<=perDistance){
$(".banner ul.img").css("left",listLeft+"px");
}else{
$(".banner ul.img").css("left",tagLeft+"px");
x=true;
}
}
if(x){
clearInterval(marquee);
tmpDistance=0;
listLeft=0;
tagLeft=0;
move=false;
$(".bannerbutton li").css("background","url(/images/index/b2.gif) no-repeat");
$(".bannerbutton li[@num="+active+"]").css("background","url(/images/index/b1.gif) no-repeat");
if(tagObj==picNum+1){
$(".banner ul.img").css("left","0");
active=1;
}
}
}
function autoMarquee(){
tagObj=Number(active)+1;
bannerGo(tagObj);
}
function autoMarqueeStart(){
if(!move){
marquee=setInterval("autoMarquee()",intTime)
}else{
setTimeout("autoMarqueeStart()",time);
}
}
autoMarqueeStart();
</script>
<style>
*{margin:0;padding:0;border:0}
li{float:left;}
ul{list-style-type:none;}
.banner{height:228px;width:568px;overflow:hidden;}
.bannerbutton li{
width:23px;
height:22px;
background:url(/images/index/b2.gif) no-repeat;
cursor:pointer;
line-height:22px;
text-align: center;
color: #fff;
font-weight: bold;
}
.banner .img li{float:left;}
.banner .img {
position: relative;width:5600px;
}
body,td,th {
font-size: 12px;
}
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
</style>
<div class="banner">
<ul class="bannerbutton" style="position:absolute;z-index:2;top:200px;;left:10px;">
<li num=1 style="background:url(/images/index/b2.gif);">1</li>
<li num=2>2</li>
<li num=3>3</li>
<li num=4>4</li>
</ul>
<ul class="img" style="left:0px;">
<li><img src="/images/temp/bn1.jpg" width="568" height="228"></li>
<li><img src="/upload/image/2007-11-17_17-30-42.jpg" width="568" height="228"></li>
<li><img src="/upload/image/4bb7eaf902000mnl.jpg" width="568" height="228"></li>
<li><img src="/upload/image/Products/2007-11-16_22-11-15.jpg" width="568" height="228"></li>
<li></li>
</ul>
</div>