js图片(上、下、左、右)无缝滚动代码

                                                                       js图片(上、下、左、右)无缝滚动代码(经过修改)

向上滚动的代码如下:

<!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=gb2312" />
<title>无标题文档</title>
<style type="text/css">
*{margin:0 auto; padding:0; border:0;}
#demo {
    height:300px;
    width:86px;
    overflow:hidden;
 padding:0 2px;
    background:#FFCCFF;
}
demo1{
    height:300px;
    width:90px;
}
demo1 img{
 width:86px;
 height:56px;
 border:0;
 padding-bottom:10px;
}
</style>
</head>

<body>
<div id="demo">
  <div id="demo1">
   <a href="#"><img src="images/lpxx02.jpg" /></a>
   <a href="#"><img src="images/lpxx02.jpg" /></a>
   <a href="#"><img src="images/lpxx02.jpg" /></a>
   <a href="#"><img src="images/lpxx02.jpg" /></a>
   <a href="#"><img src="images/lpxx02.jpg" /></a>
  </div>
  <div id="demo2"></div>
</div>
<script type="text/javascript">
 var speed=20; //数字越大速度越慢
 var tab=document.getElementById("demo");
 var tab1=document.getElementById("demo1");
 var tab2=document.getElementById("demo2");
 tab2.innerHTML=tab1.innerHTML; //克隆demo1为demo2
 function Marquee(){
 if(tab2.offsetTop-tab.scrollTop<=0)//当滚动至demo1与demo2交界时
 tab.scrollTop-=tab1.offsetHeight //demo跳到最顶端
 else{
 tab.scrollTop++
 }
 }
 var MyMar=setInterval(Marquee,speed);
 tab.οnmοuseοver=function() {clearInterval(MyMar)};//鼠标移上时清除定时器达到滚动停止的目的
 tab.οnmοuseοut=function() {MyMar=setInterval(Marquee,speed)};//鼠标移开时重设定时器
</script>
</body>
</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=gb2312" />
<title>无标题文档</title>
<style type="text/css">
*{margin:0 auto; padding:0; border:0;}
#demo {
    height:300px;
    width:86px;
    overflow:hidden;
 padding:0 2px;
    background:#FFCCFF;
}
demo1{
    height:300px;
    width:90px;
}
demo1 img{
 width:86px;
 height:56px;
 border:0;
 padding-bottom:10px;
}
</style>
</head>

<body>
<div id="demo">
  <div id="demo1">
   <a href="#"><img src="images/lpxx02.jpg" /></a>
   <a href="#"><img src="images/lpxx02.jpg" /></a>
   <a href="#"><img src="images/lpxx02.jpg" /></a>
   <a href="#"><img src="images/lpxx02.jpg" /></a>
   <a href="#"><img src="images/lpxx02.jpg" /></a>
  </div>
  <div id="demo2"></div>
</div>
<script type="text/javascript">
    var speed=20; //数字越大速度越慢
    var tab=document.getElementById("demo");
    var tab1=document.getElementById("demo1");
    var tab2=document.getElementById("demo2");
    tab2.innerHTML=tab1.innerHTML; //克隆demo1为demo2
    tab.scrollTop=tab.scrollHeight
    function Marquee(){
    if(tab1.offsetTop-tab.scrollTop>=0)//当滚动至demo1与demo2交界时
    tab.scrollTop+=tab2.offsetHeight //demo跳到最顶端
    else{
    tab.scrollTop--
    }
    }
    var MyMar=setInterval(Marquee,speed);
    tab.οnmοuseοver=function() {clearInterval(MyMar)};//鼠标移上时清除定时器达到滚动停止的目的
    tab.οnmοuseοut=function() {MyMar=setInterval(Marquee,speed)};//鼠标移开时重设定时器

</script>
</body>
</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=gb2312" />
<title>无标题文档</title>
<style type="text/css">
*{margin:0 auto; padding:0;}
#demo {
  background: #FFF;
  overflow:hidden;
  width: 500px;
}
#demo img {
   border: 3px solid #F2F2F2;
}
#indemo {
  float: left;
  width: 800%;
}
#demo1 {
  float: left;
}
#demo2 {
     float: left;
}
</style>
</head>

<body>
<div id="demo">
 <div id="indemo">
  <div id="demo1">
   <a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>
   <a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>
   <a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>
   <a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>
   <a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>
   <a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>
   <a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>
   <a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>
  </div>
  <div id="demo2"></div>
 </div>
</div>
<script>
    var speed=20; //数字越大速度越慢
    var tab=document.getElementById("demo");
    var tab1=document.getElementById("demo1");
    var tab2=document.getElementById("demo2");
    tab2.innerHTML=tab1.innerHTML;
    function Marquee(){
    if(tab2.offsetWidth-tab.scrollLeft<=0)
    tab.scrollLeft-=tab1.offsetWidth
    else{
    tab.scrollLeft++;
    }
    }
    var MyMar=setInterval(Marquee,speed);
    tab.οnmοuseοver=function() {clearInterval(MyMar)};
    tab.οnmοuseοut=function() {MyMar=setInterval(Marquee,speed)};
</script>
</body>
</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=gb2312" />
<title>无标题文档</title>
<style type="text/css">
*{margin:0 auto; padding:0;}
#demo {
  background: #FFF;
  overflow:hidden;
  width: 500px;
}
#demo img {
   border: 3px solid #F2F2F2;
}
#indemo {
  float: left;
  width: 800%;
}
#demo1 {
  float: left;
}
#demo2 {
     float: left;
}
</style>
</head>

<body>
<div id="demo">
 <div id="indemo">
  <div id="demo1">
   <a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>
   <a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>
   <a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>
   <a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>
   <a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>
   <a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>
   <a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>
   <a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>
  </div>
  <div id="demo2"></div>
 </div>
</div>
<script>
 var speed=20; //数字越大速度越慢
 var tab=document.getElementById("demo");
 var tab1=document.getElementById("demo1");
 var tab2=document.getElementById("demo2");
 tab2.innerHTML=tab1.innerHTML;
 function Marquee(){
 if(tab.scrollLeft<=0)
 tab.scrollLeft+=tab2.offsetWidth
 else{
 tab.scrollLeft--
 }
 }
 var MyMar=setInterval(Marquee,speed);
 tab.οnmοuseοver=function() {clearInterval(MyMar)};
 tab.οnmοuseοut=function() {MyMar=setInterval(Marquee,speed)};
</script>
</body>
</html>

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue.js 3可以使用transition组件和v-for指令来实现照片无缝滚动轮播图。首先,你需要设置一个容器元素来包裹照片,并设置它的宽度为照片的宽度的n倍,其中n为照片的数量。然后,使用v-for指令在容器中循环渲染照片。接下来,使用transition组件和transform属性来实现滚动效果。最后,使用setInterval函数来实现自动切换照片的功能。 代码示例如下: ```html <template> <div class="carousel-container"> <transition-group name="carousel-slide" tag="div"> <div v-for="(photo, index) in photos" :key="index" class="carousel-slide-item"> <img :src="photo" alt="photo" /> </div> </transition-group> </div> </template> <script> export default { data() { return { photos: [ "photo1.jpg", "photo2.jpg", "photo3.jpg", // 添加更多照片 ], currentIndex: 0, intervalId: null, }; }, mounted() { this.startAutoSlide(); }, beforeUnmount() { this.stopAutoSlide(); }, methods: { startAutoSlide() { this.intervalId = setInterval(() => { this.slideRight(); }, 3000); }, stopAutoSlide() { clearInterval(this.intervalId); }, slideLeft() { this.currentIndex = (this.currentIndex - 1 + this.photos.length) % this.photos.length; }, slideRight() { this.currentIndex = (this.currentIndex + 1) % this.photos.length; }, }, }; </script> <style> .carousel-container { width: 100%; overflow: hidden; } .carousel-slide-item { float: left; width: 100%; } .carousel-slide-enter-active, .carousel-slide-leave-active { transition: transform 0.5s; } .carousel-slide-enter, .carousel-slide-leave-to { transform: translateX(100%); } </style> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值