一个自动动态播放图片的类

第一步:创建一个类clsTurnPicture

增加方法如下 :

/// <summary>
        /// 播放图片类(downmoon)
        /// </summary>
        /// <param name="arrImgName">arrImgName</param>
        /// <param name="arrDesc">arrDesc</param>
        /// <param name="strShopName">strShopName</param>
        /// <param name="strBrandName">strBrandName</param>
        /// <param name="strResoourceCode">strResoourceCode</param>
        /// <param name="ScrWidth">ScrWidth</param>
        /// <param name="ScrHeight">ScrHeight</param>
        /// <param name="PicWidth">PicWidth</param>
        /// <param name="PicHeight">PicHeight</param>
        /// <param name="TextHeight">TextHeight</param>
        /// <param name="ToolBarHeight">ToolBarHeight</param>
        /// <param name="FontSize">默认为16,px</param>
        /// <returns></returns>
        public string getPicsForHtml(ArrayList arrImgName,ArrayList arrDesc,string strShopName,string strBrandName,string strResoourceCode,int ScrWidth,int ScrHeight,int PicWidth,int PicHeight,int TextHeight,int ToolBarHeight,int FontSize)
        { 
             StringBuilder sb = new StringBuilder();
            string strHtml="";
            if(arrImgName==null) return "" ;
            ArrayList ar1=new ArrayList(arrImgName);
            ArrayList ar2=new ArrayList(arrDesc);
            int len=ar1.Count;
            int len2=ar1.Count-1;
            int len3=ToolBarHeight-2;
            string str1="";
            string str2="";

            //strHtm+=@"   <html><head><title>Buynow{0}-{1}-{2}图片信息</title>
            strHtml=@"<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"" ><HTML><HEAD><title>"+    strShopName+"-"+strBrandName+"-"+"席位:"+strResoourceCode+   "-外观展示图"+
                @"</title>
        <meta http-equiv=""content-type"" content=""text/html; charset=gb2312"">
        <meta name=""GENERATOR"" Content=""Microsoft Visual Studio .NET 7.1"">
        <meta name=""CODE_LANGUAGE"" Content=""C#"">
        <meta name=""vs_defaultClientScript"" content=""JavaScript"">
        <meta name=""vs_targetSchema"" content=""http://schemas.microsoft.com/intellisense/ie5"">  "+System.Environment.NewLine;

            sb.Append(strHtml);
            sb.Append("<script language=JavaScript>"+"/r/n");
            sb.Append("<!-- Begin"+System.Environment.NewLine);
            sb.Append("var interval = 6; // delay between rotating images (in seconds)"+System.Environment.NewLine);
            sb.Append("interval *= 1000;"+System.Environment.NewLine);
            sb.Append("var flagtime=0;"+System.Environment.NewLine);
            sb.Append("var image_index = -1;"+System.Environment.NewLine);
            sb.Append("image_list = new Array();"+System.Environment.NewLine);
            sb.Append("note_list = new noteArray("+len2.ToString()+")"+System.Environment.NewLine);
            sb.Append("var number_of_image = image_list.length;"+System.Environment.NewLine);
            sb.Append("var timesnum=0;    "+System.Environment.NewLine);
            //strHtml=string.Format(strHtml,len.ToString());
            string strTemp="";
            for(int k=0;k<ar1.Count;k++)
            {
                strTemp=ar1[k].ToString();
                //strHtm+=" image_list[k] = new imageItem(/"+strTemp+/")";
                str1+=" image_list["+k.ToString()+"] = new imageItem(/""+strTemp+"/")"+";/r/n";
            }
            sb.Append(""+System.Environment.NewLine);
            for(int k=0;k<ar2.Count;k++)
            {
                strTemp=strShopName+"-"+strBrandName+"-"+strResoourceCode+"-"+ar2[k].ToString();
                str2+=" note_list["+k.ToString()+"] = /""+strTemp+"/""+";/r/n";
            }
            sb.Append(str1);
            sb.Append(str2);
            sb.Append("function noteArray(size)"+System.Environment.NewLine);
            sb.Append("{"+System.Environment.NewLine);
            sb.Append("this.length=size;"+System.Environment.NewLine);
            sb.Append("for(i=1;i<=size;i++)"+System.Environment.NewLine);
            sb.Append("{"+System.Environment.NewLine);
            sb.Append(@"this[i]="""""+System.Environment.NewLine);
            sb.Append("    }"+System.Environment.NewLine);
            sb.Append("return this;"+System.Environment.NewLine);
            sb.Append("}"+System.Environment.NewLine);
            sb.Append("function counternum()"+System.Environment.NewLine);
            sb.Append("{"+System.Environment.NewLine);
            sb.Append("if( timesnum < "+len2.ToString()+")"+System.Environment.NewLine);
            sb.Append("{"+System.Environment.NewLine);
            sb.Append("    timesnum++;"+System.Environment.NewLine);
            sb.Append(@"//document.all.slide_ent.src=""about:blank"";");
            sb.Append(System.Environment.NewLine);
           
            sb.Append(@"//document.all.slide_ent.src=""about:blank"";");
            sb.Append(System.Environment.NewLine);
            sb.Append("    }"+System.Environment.NewLine);
            sb.Append("}"+System.Environment.NewLine);
            sb.Append(@"function run(obj)
                            {
                                interval=obj.options[obj.selectedIndex].value*1000;
                                rotateImage();
                            }");
            sb.Append(@"function stop()
                    {
                        interval=0;
                    }
                    function previous()
                    {
                        var new_image = getPreviousImage();
                        document[""rImage""].src = new_image;
                    }
                    function next()
                        {
                            var new_image = getNextImage();
                            document[""rImage""].src = new_image;
                        }
                        function imageItem(image_location)
                        {
                            this.image_item = new Image();
                            this.image_item.src = image_location;
                        }
                        function noteItem(note)
                        {
                            this.note_item = new Image();
                            this.note_item.src = note;
                        }
                        function get_ImageItemLocation(imageObj)
                        {
                            return(imageObj.image_item.src)
                            }
                        function get_NoteItemLocation(noteObj)
                        {
                            return(noteObj.note_item.src)
                            }
                        function generate(x, y)
                        {
                            var range = y - x + 1;
                            return Math.floor(Math.random() * range) + x;
                        }");
            sb.Append(@"function getPreviousImage()
                        {
                            image_index = image_index-1;
                            if (image_index < 0)
                            {");
            sb.Append("image_index=image_index+"+len.ToString()+";");
            sb.Append(@"}
                var new_image = get_ImageItemLocation(image_list[image_index]);
                document.all.span_1.innerText=image_index+1;
                document.all.summary.innerText=note_list[image_index];
                return(new_image);");
            sb.Append(System.Environment.NewLine+"}");
            sb.Append(@"function getNextImage()
                    {
                        image_index = image_index+1;
                    ");
            sb.Append("if (image_index >= "+len.ToString()+")");
            sb.Append(System.Environment.NewLine);           
            sb.Append(@"{");
            sb.Append(System.Environment.NewLine);       
            sb.Append("image_index=image_index-"+len.ToString()+";");
            sb.Append(System.Environment.NewLine);       
            sb.Append("}");
            sb.Append(System.Environment.NewLine);       
            //sb.Append(@"");
            sb.Append(@"var new_image = get_ImageItemLocation(image_list[image_index]);
                        document.all.span_1.innerText=image_index+1;
                        document.all.summary.innerText=note_list[image_index];
                        return(new_image);");
            sb.Append(System.Environment.NewLine+"}");       
           
           
            strHtml=@"
                    function rotateImage()
                    {
                        if (interval == 0)
                        {
                            return 1;
                        }
                        if (flagtime == 1)
                        {
                            var now = new Date();
                            var time1 = now.getTime();
                            var time2;
                            time1=time1+3000;
                            time2=now.getTime();
                            while(time2 < time1)
                            {
                                now = new Date();
                                time2=now.getTime();
                            }
                            flagtime=0;
                        }
                        var new_image = getNextImage();
                        document['rImage'].src = new_image;
                        var recur_call = ""rotateImage('""+'rImage'+""')"";
                        setTimeout(recur_call,interval);
                    }
                    // End -->
                    </script>
       
                    <script type=""text/javascript"" src=""Resource/Script/ygcss.js""></script>
                ";
            sb.Append(strHtml);
            strHtml=@"</HEAD><body topmargin=""0"" leftmargin=""0""><form name=""frmDispImage"">";
                   
            sb.Append(strHtml);
                strHtml=@"
                <center>
                <center>
                <table bgcolor='#fff2df' border='0' cellpadding='0' cellspacing='0' width='"
                    +ScrWidth.ToString()+@"'>
                <tbody><tr>
                <td align='center' valign='top'><table border='0' cellpadding='0' cellspacing='0' width='100%'>
                <tbody><tr>
                <td height='1'></td>
                </tr>
                </tbody></table>
                <table border='0' cellpadding='0' cellspacing='0' height='"+
                    PicHeight.ToString()+"' width='"+PicWidth.ToString()+@"' align='center'>
                <tbody><tr>
                <td align='center'><img name=""rImage"" src='"+
                   
                    ar1[0].ToString()+"' width='"+PicWidth+"' height='"+PicHeight+@"'  οnlοad=""counternum();"" border='0'></td>
                    </tr>
                    </tbody></table>
                   
                    <!--text-->
                    <table border='0' cellpadding='0' cellspacing='0' width='100%'>
                    <tbody><tr>
                    <td id=""summary"" align='center' height='"+
                    TextHeight.ToString()+"' style='font-size:"+FontSize.ToString()+"pt;'>"
                   
                    +strShopName+"-"+strBrandName+"-"+strResoourceCode+"-"+ar2[0].ToString()+@"</td>
                    </tr>
                    </tbody></table>
                    <!--/text-->
                    <!--bottom-->
                    <table border='0' cellpadding='0' cellspacing='0' width='100%'>
                    <tbody><tr>
                    <td><img src='Resource/Image/TurnImage/slideshow_bg_3.gif' border='0' height='4' width='"+ScrWidth.ToString()+@"'></td>
                    </tr>
                    <tr>
                    <td bgcolor='#c9beeb' height='"+ToolBarHeight.ToString()+@"'>
                    <table border='0' cellpadding='1' cellspacing='0' width='100%'>
                    <tbody><tr>
                    <td class='sbody' align='center' height='"+len3.ToString()+"'><font style='font-size:"+FontSize+"pt;'><span id='span_1'>1</span>/"+len.ToString()+

                            @"&nbsp;&nbsp;&nbsp;&nbsp;
                            <img src='Resource/Image/TurnImage/slideshows_bottom_1.gif' alt='开始' οnclick=""run(document.frmDispImage.select1)"" align='absmiddle' border='0' height='21' width='35'>&nbsp;&nbsp;<img src='Resource/Image/TurnImage/slideshows_bottom_2.gif' alt='停止' οnclick=""stop();"" align='absmiddle' border='0' height='21' width='35'>
                            &nbsp;&nbsp;<img src='Resource/Image/TurnImage/slideshows_bottom_3.gif' alt='前一张' οnclick=""previous();"" align='absmiddle' border='0' height='21' width='35'>&nbsp;&nbsp;<img src='Resource/Image/TurnImage/slideshows_bottom_4.gif' alt='后一张' οnclick=""next();"" align='absmiddle' border='0' height='21' width='35'>&nbsp;&nbsp;速度:
                            <select name=""select1"" οnchange=""run(this)"">
                            <option value=""12"">12 sec.</option>
                            <option selected=""selected"" value=""6"">6 sec.</option>
                            <option value=""3"">3 sec.</option>
                            <option value=""9"">9 sec.</option>
                            </select></font></td>
                            </tr>

                            </tbody></table>
                            </td>
                            </tr>
                            <tr>
                            <td bgcolor='#625a68' height='1'></td>
                            </tr>
                            </tbody></table>
                            </td>
                            </tr>
                            </tbody></table>
                            <!--/--></center>
                            <script language=""javascript"">
                                flagtime=1;
                            <!--rotateImage();-->
                            <!--slideit()-->
                                </script>

                            </center>";
                sb.Append(strHtml);
            sb.Append("</form></body></HTML>");
            return sb.ToString();   


        }

调用格式:
      
                ArrayList ar1=new ArrayList();
                ar1.Clear();
                ar1.Add("http://downmoon-hgh/RichChartServer/Top30/frmForumDisplayImage.aspx?id=160720060328095407");
                ar1.Add("http://downmoon-hgh/RichChartServer/Top30/frmForumDisplayImage.aspx?id=160420060327085709");
                ar1.Add("http://downmoon-hgh/RichChartServer/Top30/frmForumDisplayImage.aspx?id=160420060327091030");
                ar1.Add("http://downmoon-hgh/RichChartServer/Top30/frmForumDisplayImage.aspx?id=160420060327092445");
           
                drawPic(ar1);


                if(this.ar1==null || ar1.Count==0  )
                {
                   // this.MsgBox("该席位/资源无外观图!");
                   // this.CloseWebForm();
                    return ;
                }
                else
                {

                    drawPic(ar1);
                }


private void drawPic(ArrayList arrImages)
        {
            if(pic==null)
            {
                pic=new clsTurnPicture();
            }
             int i;   
            ArrayList ar2=new ArrayList();
            ar2.Clear();
            for(int k=0;k<arrImages.Count;k++)
            {    i=k+1;
                ar2.Add("展示图"+i.ToString());
            }
        Response.Write(pic.getPicsForHtml(arrImages,ar2,CurrShopName,CurBrandName,strResourceCode,1024,768,1022,640,36,34,16));
           
           
        }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的实现,通过 JavaScript 监听鼠标进入和移出事件来控制图片的切换: HTML 代码: ```html <div id="image-container"> <img src="image-1.jpg" alt="Image 1" class="active"> <img src="image-2.jpg" alt="Image 2"> <img src="image-3.jpg" alt="Image 3"> </div> ``` CSS 代码: ```css #image-container { position: relative; width: 400px; height: 300px; overflow: hidden; } #image-container img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 0.5s ease-in-out; } #image-container img.active { opacity: 1; } ``` JavaScript 代码: ```javascript var images = document.querySelectorAll('#image-container img'); var intervalId = setInterval(function() { var activeImage = document.querySelector('#image-container img.active'); var nextIndex = (parseInt(activeImage.getAttribute('src').charAt(6)) % images.length) + 1; var nextImage = document.querySelector('#image-container img:nth-child(' + nextIndex + ')'); activeImage.classList.remove('active'); nextImage.classList.add('active'); }, 2000); var imageContainer = document.querySelector('#image-container'); imageContainer.addEventListener('mouseenter', function() { clearInterval(intervalId); }); imageContainer.addEventListener('mouseleave', function() { intervalId = setInterval(function() { var activeImage = document.querySelector('#image-container img.active'); var nextIndex = (parseInt(activeImage.getAttribute('src').charAt(6)) % images.length) + 1; var nextImage = document.querySelector('#image-container img:nth-child(' + nextIndex + ')'); activeImage.classList.remove('active'); nextImage.classList.add('active'); }, 2000); }); ``` 代码解释: 1. 首先获取所有图片元素和定时器 ID。 2. 定义一个函数来轮播图片,通过获取当前活动的图片元素,计算下一张图片的索引,然后将当前图片的 `active` 移除,将下一张图片的 `active` 加上,实现图片的切换。将该函数赋值给定时器,以便每隔一段时间就会自动调用。 3. 获取图片容器元素,并为其添加鼠标进入和移出事件监听器。当鼠标进入时,清除定时器,停止图片的切换;当鼠标移出时,重新启动定时器,恢复图片的切换。 注意,这里的图片文件名需要按照一定的规则命名,例如 `image-1.jpg`、`image-2.jpg`、`image-3.jpg` 等,其中数字部分需要从 1 开始连续编号。这样在计算下一张图片的索引时才能正确地循环播放
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值