以下是 jquery图片无缝滚动js代码 的示例演示效果:
部分效果截图:
HTML代码(index.html):
<!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>jquery图片无缝滚动</title>
<link href="css/style.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="js/jquery.1.4.2-min.js"></script>
</head>
<body>
<div class="headeline"></div>
<!--演示内容开始-->
<style type="text/css">
*{margin:0;padding:0;list-style-type:none;}
a,img{border:0;}
body{font:12px/180% Arial, Helvetica, sans-serif, "新宋体";}
/* marqueeleft */
.marqueeleft{height:136px;width:474px;overflow:hidden;margin:40px auto;}
.marqueeleft ul{float:left;}
.marqueeleft li{float:left;margin:0 5px;display:inline;width:148px;height:133px;overflow:hidden;}
.marqueeleft li .pic{display:block;border:#ccc 1px solid;width:135px;height:104px;padding:2px;overflow:hidden;}
.marqueeleft li .txt{text-align:center;height:23px;line-height:23px;}
/* marqueetop */
.marqueetop{height:429px;width:148px;overflow:hidden;margin:40px auto;}
.marqueetop li{padding:5px 0;width:148px;height:133px;overflow:hidden;}
.marqueetop li .pic{display:block;border:#ccc 1px solid;width:135px;height:104px;padding:2px;overflow:hidden;}
.marqueetop li .txt{text-align:center;height:23px;line-height:23px;}
</style>
<script type="text/javascript">
//js无缝滚动代码
function marquee(i, direction){
var obj = document.getElementById("marquee" + i);
var obj1 = document.getElementById("marquee" + i + "_1");
var obj2 = document.getElementById("marquee" + i + "_2");
if (direction == "up"){
if (obj2.offsetTop - obj.scrollTop <= 0){
obj.scrollTop -= (obj1.offsetHeight + 20);
}else{
var tmp = obj.scrollTop;
obj.scrollTop++;
if (obj.scrollTop == tmp){
obj.scrollTop = 1;
}
}
}else{
if (obj2.offsetWidth - obj.scrollLeft <= 0){
obj.scrollLeft -= obj1.offsetWidth;
}else{
obj.scrollLeft++;
}
}
}
function marqueeStart(i, direction){
var obj = document.getElementById("marquee" + i);
var obj1 = document.getElementById("marquee" + i + "_1");
var obj2 = document.getElementById("marquee" + i + "_2");
obj2.innerHTML = obj1.innerHTML;
var marqueeVar = window.setInterval("marquee("+ i +", '"+ direction +"')", 20);
obj.onmouseover = function(){
window.clearInterval(marqueeVar);
}
obj.onmouseout = function(){
marqueeVar = window.setInterval("marquee("+ i +", '"+ direction +"')", 20);
}
}
</script>
<div id="marquee1" class="marqueeleft">
<div style="width:8000px;">
<ul id="marquee1_1">
<li>
<a class="pic" href="#"><img width="135" height="104" src="images/201281616534720869.jpg"></a>
<div class="txt"><a href="#">南方国际大厦</a></div>
</li>
<li>
<a class="pic" href="#"><img width="135" height="104" src="images/20127251731536317.jpg"></a>
<div class="txt"><a href="#">南方国际大厦</a></div>
</li>
<li>
<a class="pic" href="#"><img width="135" height="104" src="images/20127251715020800.jpg"></a>
<div class="txt"><a href="#">南方国际大厦</a></div>
</li>
<li>
<a class="pic" href="#"><img width="135" height="104" src="images/20127251705451556.jpg"></a>
<div class="txt"><a href="#">南方国际大厦</a></div>
</li>
</ul>
<ul id="marquee1_2"></ul>
</div>
</div><!--marqueeleft end-->
<script type="text/javascript">marqueeStart(1, "left");</script>
<div id="marquee2" class="marqueetop">
<div style="height:8000px;">
<ul id="marquee2_1">
<li>
<a class="pic" href="#"><img width="135" height="104" src="images/201281616534720869.jpg"></a>
<div class="txt"><a href="#">南方国际大厦</a></div>
</li>
<li>
<a class="pic" href="#"><img width="135" height="104" src="images/20127251731536317.jpg"></a>
<div class="txt"><a href="#">南方国际大厦</a></div>
</li>
<li>
<a class="pic" href="#"><img width="135" height="104" src="images/20127251715020800.jpg"></a>
<div class="txt"><a href="#">南方国际大厦</a></div>
</li>
<li>
<a class="pic" href="#"><img width="135" height="104" src="images/20127251705451556.jpg"></a>
<div class="txt"><a href="#">南方国际大厦</a></div>
</li>
</ul>
<ul id="marquee2_2"></ul>
</div>
</div><!--marqueeleft end-->
<script type="text/javascript">marqueeStart(2, "up");</script>
</body>
</html>
CSS代码(style.css):
@charset "utf-8";/* reset */
*{margin:0;padding:0;list-style-type:none;}
a{blr:expression(this.onFocus=this.blur())}
/*去掉a标签的虚线框,避免出现奇怪的选中区域*/
:focus{outline:0;}
label{cursor:pointer;}
img{vertical-align:middle;}
table{empty-cells:show;border-collapse:collapse;border-spacing:0;}
h1{font-size:16px;}
h2,h3,h4{font-size:14px;}
h5,h6{font-size:12px;}
abbr,acronym{border:0;font-variant:normal}
address,caption,cite,code,dfn,em,th,var,optgroup{font-style:normal;font-weight:normal}
input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit}
input,button,textarea,select{*font-size:100%}
a,img{border:0;}
a,a:visited{color:#5e5e5e;text-decoration:none;}
a:hover{color:#4183C4;text-decoration:underline;}
.clear{display:block;overflow:hidden;clear:both;height:0;line-height:0;font-size:0;}
.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}
.clearfix{display:inline-table;}
/* Hides from IE-mac \*/
*html .clearfix{height:1%;}
.clearfix{display:block;}
/* End hide from IE-mac */
*+html .clearfix{min-height:1%;}
body{font:12px/180% Arial,Lucida,Verdana,"宋体",Helvetica,sans-serif;color:#333;background:#fff;}
/* shortcut */
.shortcut{position:fixed;top:0;left:0;z-index:9999;width:100%;}
*html,*html body /* 修正IE6振动bug */
{background-image:url(about:blank);background-attachment:fixed;}
*html .shortcut{position:absolute;top:expression(eval(document.documentElement.scrollTop));}
.shortcut{height:28px;line-height:28px;font-size:12px;background:#EEEEEE;text-transform:uppercase;box-shadow:1px 0px 2px rgba(0,0,0,0.2);border-bottom:1px solid #DDDDDD;}
.shortcut h1{font-size:14px;font-family:"微软雅黑","宋体";}
.shortcut a,.shortcut h1{padding:0px 10px;letter-spacing:1px;color:#333;text-shadow:0px 1px 1px #fff;display:block;float:left;}
.shortcut a:hover{background:#fff;}
.shortcut span.right{float:right;}
.shortcut span.right a{float:left;display:block;color:#ff6600;font-weight:800;}
.headeline{height:40px;overflow:hidden;}
.adv960x90{width:960px;height:90px;overflow:hidden;border:solid 1px #E6E6E6;margin:0 auto;}
.adv728x90{width:728px;height:90px;overflow:hidden;border:solid 1px #E6E6E6;margin:0 auto;}