图片滚动并且当鼠标放到图片上时,上面的大图会相应的变化。

最近在工作中,遇到这样一种情况:就是一个页面中,在页面中的正中是一个大的图片显示框,下面是这个图片的说明,最下面是一些滚动的图片
功能说明:
一,从数据库中取出图片,让其在下面滚动。
二,当鼠标放到滚动图片中的一幅时,上面的大图片显示框就显示这个图,并且在图片说明显示相应的说明。

图片滚动其实很好完成。网上有的是现成的代码,就是二个div来完成。
重点鼠标放到滚动图片时,大图片的显示。其实说白了也很简单就是用一段javascript 代码。
不说别的了,我把代码放出来。
1,这是前台显示页面
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" >
  3. <head runat="server">
  4.     <title></title>
  5.     <style type="text/css">
  6. <!--
  7. @import url("css.css");
  8. body {
  9.     margin-left: 0px;
  10.     margin-top: 0px;
  11.     margin-right: 0px;
  12.     margin-bottom: 0px;
  13. }
  14. .STYLE1 {
  15.     color: #000000;
  16.     font-weight: bold;
  17. }
  18. .STYLE2 {
  19.     font-size: 12px;
  20.     color: #000000;
  21. }
  22. .STYLE3 {color: #FFFFFF}
  23. -->
  24. </style>

  25. //这里是显示大图片的javasript代码

  26. <script languge="javascript">
  27.      function ViewPic(img)
  28.      {
  29.          var Bimg = document.getElementById("bigimg");       //取得大图片
  30.          var txtTitle = document.getElementById("div1");     //这里是显示相应的图片说明
  31.          Bimg.src = img.src;                                 //大图片的显示
  32.          div1.innerHTML = img.alt;                           //说明的显示,为了能让说明显示,我把说明放到了img的alt属性中
  33.      }
  34.   </script>
  35. </head>
  36. <body bgcolor="#FFFFFF">
  37.     <form id="form1" runat="server">
  38.     <table width="1000" border="0" align="center" cellpadding="0" cellspacing="0">
  39.   <tr>
  40.     <td><uc3:Head ID="Head1" runat="server" />
  41.     </td>
  42.   </tr>
  43.   
  44.   <tr>
  45.     <td align="left" valign="top"><table width="1000" border="0" cellspacing="0" cellpadding="0">
  46.       <tr>
  47.         <td width="211" height="168" valign="top" background="images/index1_19.jpg"><table width="211" border="0" cellspacing="0" cellpadding="0">
  48.           <tr>
  49.             <td><img src="images/0011_02.jpg" width="208" height="47"></td>
  50.           </tr>
  51.           <tr>
  52.             <td width="208" height="343" valign="top">
  53.                 <uc1:Zjhz_left ID="Zjhz_left1" runat="server" />
  54.             </td>
  55.           </tr>
  56.           <tr>
  57.             <td height="385" align="center" valign="bottom"><img src="images/index1_20.jpg" width="211" height="308"></td>
  58.           </tr>
  59.           
  60.         </table></td>
  61.         <td width="958" valign="top"><table width="70" border="0" cellspacing="0" cellpadding="0">
  62.           <tr>
  63.             <td width="792" height="47" align="right" background="images/_03.jpg"><table width="270" border="0" cellpadding="0" cellspacing="0" class="ztorange">
  64.                 <tr>
  65.                   <td><span class="STYLE2"> </td>
  66.                   </tr>
  67.               </table>              </td>
  68.           </tr>
  69.           <tr>
  70.             <td height="550" valign="top"><table width="700" border="0" align="center" cellpadding="0" cellspacing="0">
  71.               <tr>
  72.                 <td> </td>
  73.               </tr>
  74.               <tr>
  75.                 <td><table width="200" border="0" align="center" cellpadding="0" cellspacing="0">
  76.                   <tr>
  77.                     <td><img src="images/ffff_03.gif" width="536" height="22"></td>
  78.                   </tr>
  79.                   <tr>
  80.                     <td><table width="536" border="0" cellspacing="0" cellpadding="0">
  81.                       <tr>
  82.                         <td width="25"><img src="images/yyyy-1_05.gif" width="25" height="239"></td>
  83.                         <td width="495">

  84. 大图片显示
  85. <img id="bigimg" src="images/1.jpg" width="493" height="237" runat="server">


  86. </td>
  87.                         <td width="16"><img src="images/tttt-1_07.gif" width="22" height="239"></td>
  88.                       </tr>
  89.                     </table></td>
  90.                   </tr>
  91.                   <tr>
  92.                     <td><img src="images/llll-1_07-08.gif" width="536" height="13"></td>
  93.                   </tr>
  94.                   <tr>
  95.                     <td>

  96. //图片说明
  97. <div align="center" class="gaodu" id="div1">
  98.                         </div>


  99. </td>
  100.                   </tr>
  101.                 </table>
  102.                   <br>
  103.                   <br>
  104.                   <br>
  105.                   <br></td>
  106.               </tr>
  107.               <tr>
  108.                 <td height="120" valign="top"><table width="700" border="0" cellspacing="0" cellpadding="0">
  109.                   <tr>
  110.                     <td><table width="100%" height="120" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#CCCCCC" bgcolor="#CCCCCC">
  111.                       <tr>
  112.                         <td bgcolor="#FFFFFF">
  113.                          <div id="demo" style="OVERFLOW:hidden;WIDTH:800px;COLOR:#ffffff">
  114.                                 <table cellpadding="0" cellspacing="0" border="0">
  115.                                     <tr>
  116.                                         <td id="demo1" valign="top" align="center">
  117.                                             <table cellpadding="2" cellspacing="0" border="0">
  118.                                                 <tr align="center">
  119.                                                     <asp:Repeater ID="Repeater1" Runat="server">
  120.                                                         <ItemTemplate>
  121.                                                             <td>
  122.                                                                 <%# IsPic(DataBinder.Eval(Container.DataItem, "title").ToString(), DataBinder.Eval(Container.DataItem, "pic").ToString())%>
  123.                                                             </td>
  124.                                                         </ItemTemplate>
  125.                                                     </asp:Repeater>
  126.                                                 </tr>
  127.                                             </table>
  128.                                         </td>
  129.                                         <td id="demo2" valign="top"></td>
  130.                                     </tr>
  131.                                 </table>
  132.                             </div>
  133.                             <script>
  134.                                 var speed=2//速度数值越大速度越慢
  135.                                 demo2.innerHTML=demo1.innerHTML
  136.                                 function Marquee(){
  137.                                 if(demo2.offsetWidth-demo.scrollLeft<=0)
  138.                                 demo.scrollLeft-=demo1.offsetWidth
  139.                                 else{
  140.                                 demo.scrollLeft++
  141.                                 }
  142.                                 }
  143.                                 var MyMar=setInterval(Marquee,speed)
  144.                                 demo.onmouseover=function() {clearInterval(MyMar)}
  145.                                 demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
  146.                             </script>
  147.                         </td>
  148.                       </tr>
  149.                     </table></td>
  150.                     
  151.                   </tr>
  152.                 </table></td>
  153.               </tr>
  154.             </table>
  155.               <p><br>
  156.             </p>
  157.               <p>  </p>
  158.               <h2> </h2></td></tr>
  159.           <tr>
  160.             <td height="98" valign="bottom"><img src="images/0011_10.jpg" width="792" height="137"></td>
  161.           </tr>
  162.         </table></td>
  163.       </tr>
  164.     </table></td>
  165.   </tr>
  166.   <tr>
  167.     <td align="left" valign="top"><img src="images/index1_21.jpg" width="1000" height="10" alt=""></td>
  168.   </tr>
  169.   <tr>
  170.     <td align="left" valign="top">
  171.         <uc2:Bottom ID="Bottom1" runat="server" />
  172.     </td>
  173.   </tr>
  174. </table>
这里我用的是repeater进行显示图片的滚动。

2,下面是后台的代码。其实就是绑定repeater
  1. protected void Page_Load(object sender, EventArgs e)
  2.     {
  3.         if (!Page.IsPostBack)
  4.         {
  5.             string strsql = "select title,pic from C_Article where BigClass='走进华泽' and SmallClass='华泽荣誉' order by id desc";
  6.             DataTable dt = db.myTable(strsql);
  7.             this.Repeater1.DataSource = dt;
  8.             this.Repeater1.DataBind();
  9.             this.bigimg.Src = dt.Rows[0]["pic"].ToString();
  10.             dt.Dispose();
  11.         }
  12.     }
  13.     public string IsPic(string Title, string pic)
  14.     {
  15.         return "<img src=/"" + pic + "/" width=/"130/" alt=/"" + Title + "/" height=/"100/" onMouseMove=/"ViewPic(this)/">";
  16.     }
这段代码我就不多说了,大家一看就明白了。



可以通过JavaScript来实现鼠标悬停停止图片滚动、移出继续的功能。以下是一个示例代码: HTML代码: ``` <div class="slider"> <div class="slides"> <img src="image1.jpg"> <img src="image2.jpg"> <img src="image3.jpg"> </div> </div> ``` CSS代码: ``` .slider { position: relative; overflow: hidden; } .slides { display: flex; transition: transform 0.5s ease-in-out; } .slides img { width: 100%; height: 100%; } /* 鼠标悬停时放大图片 */ .slides img:hover { transform: scale(1.2); } ``` JavaScript代码: ``` var slider = document.querySelector('.slider'); var slides = document.querySelector('.slides'); var slideWidth = slider.clientWidth; var slideIndex = 0; var timer; function nextSlide() { slides.style.transform = 'translateX(' + (-slideWidth * slideIndex) + 'px)'; slideIndex++; if (slideIndex >= slides.children.length) { slideIndex = 0; } } function startSlide() { timer = setInterval(nextSlide, 2000); } function stopSlide() { clearInterval(timer); } slider.addEventListener('mouseover', stopSlide); slider.addEventListener('mouseout', startSlide); startSlide(); ``` 首先,通过JavaScript获取到需要操作的DOM元素,即slider和slides。然后定义一个slideWidth变量,表示每张图片的宽度。接着定义slideIndex变量,表示当前显示的图片索引。在nextSlide函数中,根据slideIndex计算出slides需要移动的距离,然后设置slides的transform属性实现图片滚动。在startSlide函数中,使用setInterval函数实现定时轮播。在stopSlide函数中,使用clearInterval函数停止轮播。最后,通过addEventListener函数为slider添加mouseover和mouseout事件,分别调用stopSlide和startSlide函数实现鼠标悬停停止图片滚动、移出继续的功能。同时,在CSS中添加了鼠标悬停时放大图片的样式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值