javascript自动左右滑动图片以及自动上下滑动图片

css样式+javascript实现左右滑动图片

css样式:

     <style>
        #div1  
     {position:relative;width:800px;height:200px;overflow:hidden; 
         }
  #div2{position:absolute;}
  li{ float:left;list-style-type:none;padding:3px;}
  img{border:none;}
  #div2 li a:hover{top:-10px;}
  a{position:relative;}
  </style>  

javascript_code:

 <script>
      window.onload = function () {
          var odiv2 = document.getElementById('div2');
          var ali = odiv2.getElementsByTagName('li');
          var aspeed = -5;
          var timer = null;
          odiv2.innerHTML += odiv2.innerHTML;
          odiv2.style.width = ali[0].offsetWidth * ali.length + 'px';
          odiv2.onmouseover = function () { clearInterval(timer); };
          function a() {
              timer = setInterval(function () {
                  odiv2.style.left = odiv2.offsetLeft + aspeed + 'px';
                  if (odiv2.offsetLeft < -odiv2.offsetWidth / 2) {
                      odiv2.style.left = '0px';
                  }
              }, 100);
          };
          odiv2.onmouseout = a;
          a();
      }
 </script>

html_code

                  <div id='div1'>
                          <div id='div2'>
                              <ul>
                           <li><a href="#"><img src="images/big_jp1.jpg" style="height:200px"/></a></li>
                           <li><a href="#"><img src="images/big_jp2.jpg" style="height:200px" /></a></li>
                           <li><a href="#"><img src="images/big_jp3.jpg" style="height:200px" /></a></li> 
                           <li><a href="#"><img src="images/big_jp4.jpg " style="height:200px"/></a></li> 
                             </ul>
                        </div>
                    </div>

    这就呈现出自动由右向左滑动,当鼠标onmouseover时,触发function () { clearInterval(timer); }事件;鼠标onmouseout时, setInterval(function () {.......}事件


   css样式+javascript实现上下滑动图片

CSS样式:

* {
	margin:0;
	padding:0;
}
img, a {
	border:0;
}
.span230 {
	width:300px;
    
}
.span230a{
	width:400px;
    padding-left:250px;
}
ul, li {
	list-style:none;
}
#scrollboxa {
	height:400px;
     width:300px;
	overflow:hidden;
}

.btntop, .btnbottom {
	height:12px;
	overflow:hidden;
	background:url(../images/arrowtopbottom.gif) no-repeat;
	cursor:pointer;
}
.btntop {
	background-position:60px 0;
}
.btnbottom {
	background-position:60px -12px;
}
#scrollbox {
height:400px;
     width:300px;
	overflow:hidden;
}
.scrollcon {
	height:800%;
}
.scrollpic li {
	height:55px;
	overflow:hidden;
	margin:5px 0;
}
.scrollpic li img {
	float:left;
	display:inline;
	margin:0 10px 0 0;
}
.scrollpic li a {
	display:block;
	height:20px;
	 
	font-size:12px;
	color:#fff;
	line-height:20px;
	text-decoration:none;
}
.scrollpic li a:hover {
	background:#3d4558;
	color:#ff6600;
}

javascript_code:

<script type="text/javascript">
<!-- javascript 图片上下滚动
    var speeda = 30;
    var directiona="top";
    var taba = document.getElementById("scrollbox");
    var tab1a = document.getElementById("boximg");
    var tab2a = document.getElementById("fuzhi");
    var leftDira = document.getElementById("leftDir");
    var rightDira = document.getElementById("rightDir");
    tab2a.innerHTML = tab1a.innerHTML;
    function marquee(){
        switch(directiona){
            case "top":
                if(tab2a.offsetHeight - taba.scrollTop <= 0){
                    taba.scrollTop -= tab1a.offsetHeight;
                }
                else{
                    taba.scrollTop++;
                }
                break;
            case "bottom":
                if(taba.scrollTop <= 0){
                    taba.scrollTop += tab2a.offsetHeight;
                }
                else{
                    taba.scrollTop--;
                }
                break;
        }
    }
    function changeDirection(dir){
        directiona = dir;
    }
    var timera = setInterval(marquee,speeda);
    taba.onmouseover = function(){clearInterval(timera);};
    taba.onmouseout = function(){timera = setInterval(marquee,speeda);};
    leftDira.onclick = function(){changeDirection("top");};
    rightDira.onclick = function(){changeDirection("bottom");};
    -->
</script>

html_code:

             <div class="span230" style="background-color:red">
  <div id="leftDir" class="btntop"> </div>
  <div id="scrollbox">
    <div class="scrollcon">
      <div id="boximg" class="scrollpic">
        <ul>
          <li> 
              <a href="#">  <font color="black" family="楷体" size="3px">中国北京</font></a></li>
          <li> 
              <a href="#"> <font color="black" family="楷体" size="3px"> 中国上海</font></a></li>
          <li> 
              <a href="#"> <font color="black" family="楷体" size="3px"> 中国重庆</font></a></li>
          <li> 
              <a href="#"> <font color="black" family="楷体" size="3px"> 中国深圳</font></a></li>
        </ul>
      </div>
      <div id="fuzhi" class="scrollpic"> </div>
    </div>
  </div>
  <div id="rightDir" class="btnbottom"> </div>
</div>
 
  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
实现这个功能可以使用 CSS3 中的动画效果和 transform 属性。以下是一个简单的示例代码: HTML 代码: ```html <div class="slider"> <img src="image1.jpg"> <img src="image2.jpg"> <img src="image3.jpg"> </div> ``` CSS 代码: ```css .slider { width: 100%; height: 300px; overflow: hidden; position: relative; } .slider img { position: absolute; top: 0; left: 0; opacity: 0; transition: all 1s ease-in-out; } .slider img.active { opacity: 1; transform: translateX(0%); } .slider img.prev { transform: translateX(-100%); } .slider img.next { transform: translateX(100%); } ``` JavaScript 代码: ```javascript var images = document.querySelectorAll('.slider img'); var currentImageIndex = 0; var sliderInterval = setInterval(nextImage, 3000); function nextImage() { images[currentImageIndex].classList.remove('active'); images[currentImageIndex].classList.add('prev'); currentImageIndex = (currentImageIndex + 1) % images.length; images[currentImageIndex].classList.add('active'); } function prevImage() { images[currentImageIndex].classList.remove('active'); images[currentImageIndex].classList.add('next'); currentImageIndex = (currentImageIndex - 1 + images.length) % images.length; images[currentImageIndex].classList.add('active'); } // 添加鼠标事件 document.querySelector('.slider').addEventListener('mouseover', function() { clearInterval(sliderInterval); }); document.querySelector('.slider').addEventListener('mouseout', function() { sliderInterval = setInterval(nextImage, 3000); }); ``` 这段代码会自动滑动图片,每隔 3 秒钟自动滑动到下一张,同时添加鼠标事件,当鼠标移入时停止自动滑动,当鼠标移出时恢复自动滑动
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值