首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 图形图象-> Director教程
ajax无刷新实现图片切换特效_ajax教程
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 

一、AjaxMethod
using System;
using System.Data;
using System.Data.SqlClient;

namespace AjaxImage
{
    /**//// <summary>
    /// AjaxMethod 的摘要说明。
    /// </summary>
    public class AjaxMethod
    {
        public AjaxMethod()
        {           
        }
        public static string ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"].ToString();

        GetDataSet#region GetDataSet
        public static DataSet GetDataSet(string sql)
        {
            SqlDataAdapter sda = new SqlDataAdapter(sql, ConnectionString);
            DataSet ds = new DataSet();
            sda.Fill(ds);
            if (ds != null)
                return ds;
            else
                return null;
        }
        #endregion

        [AjaxPro.AjaxMethod]
        public static DataSet GetPhotoList( int iCategoryID )
        {
            string sql = "Select id,photo_path FROM Photo where photo_category_id=" + iCategoryID ;
            return GetDataSet( sql );
        }
        [AjaxPro.AjaxMethod]
        public static DataSet GetPhotoInfo( int id )
        {
            string sql = string.Format("SELECT photo_title, photo_description FROM Photo WHERE id = {0}", id);
            return GetDataSet( sql );
        }

    }//end class
}

二、页面HTML代码:
<div id="Layer1" style="Z-INDEX:1; LEFT:104px; WIDTH:501px; POSITION:absolute; TOP:28px; HEIGHT:345px">
                <img name="slideShow" src="http://www.knowsky.com/images/space.gif" width="500" height="300" style="FILTER:revealTrans(duration=2,transition=23)">
            </div>
            <div id="Layer2" style="Z-INDEX:2; LEFT:490px; WIDTH:112px; POSITION:absolute; TOP:380px; HEIGHT:26px">
                <img id="btnPlay" src="http://www.knowsky.com/images/play_bw.gif" onclick="slideshow_automatic()" onmouseover="this.src=images/play.gif"
                    onmouseout="this.src=images/play_bw.gif"> <img id="btnPause" src="http://www.knowsky.com/images/pause_bw.gif" onclick="pauseSlideShow()" onmouseover="this.src=images/pause.gif"
                    onmouseout="this.src=images/pause_bw.gif"> <img id="btnPrev" src="http://www.knowsky.com/images/prev_bw.gif" onclick="previous_image()" onmouseover="this.src=images/prev.gif"
                    onmouseout="this.src=images/prev_bw.gif"> <img id="btnNext" src="http://www.knowsky.com/images/next_bw.gif" onclick="next_image()" onmouseover="this.src=images/next.gif;next_image()"
                    onmouseout="this.src=images/next_bw.gif">
            </div>
三、JAVASCRIPT:
<script language="javascript" type="text/javascript">
            // 定时器
            var timeDelay;
           
            // 图片自动浏览时的时间间隔
            var timeInterval = 4000;
           
            // Array对象,存储图片文件的路径
            var image;
           
            // 当前显示的图片序号
            var num;
           
            // 图片信息数据表
            var dt;
            // 预加载图片信息
            function PreloadImage(iCategoryID)
            {
                // 采用同步调用的方式获取图片的信息               
                var ds = AjaxImage.AjaxMethod.GetPhotoList(iCategoryID).value;
               
                // 如果返回了结果
                if (ds)
                {
                    // 判断数据表是否不为空
                    if (ds.Tables[0].Rows.length > 0)
                    {
                        // 返回的图片信息数据表
                        dt = ds.Tables[0];
                       
                        // 用image对象存储图片的文件路径
                        image = new Array();
                       
                        // 图片在Photos目录下
                        for (var i = 0; i < dt.Rows.length; i++)
                        {
                            image[i] = "Photos/" + dt.Rows[i].photo_path;
                        }
                                   
                        // imagePreload对象用于实现图片的预缓存
                        var imagePreload = new Array();
                        for (var i = 0;i < image.length;i++)
                        {
                            // 通过新建Image对象,并将其src属性指向图片的URL
                            // 显现图片的预缓存
                            imagePreload[i] = new Image();
                            imagePreload[i].src = image[i];
                        }

                        // 初始化一些变量
                        num = -1;
                        //nStatus = 0x09;
                       
                        // 加载第一张图片
                        next_image();               
                    }
                    else // 分类下没有图片
                    {
                        alert("该目录下没有图片!");
                    }
                }               
            }
            // 实现图片切换时的效果
            function image_effects()
            {
                // Transition的值为0~23之间的随机数,代表24种切换效果
                // 具体值与效果之间的对应见MSDN
                document.slideShow.filters.revealTrans.Transition = Math.random() * 23;
               
                // 应用并播放切换效果
                document.slideShow.filters.revealTrans.apply();
                document.slideShow.filters.revealTrans.play();
            }
            function next_image()
            {
                // 当前图片的序号向后移动,如果已经是最后一张,
                // 则切换到第一张图片
                num++;
                num %= image.length;
               
                // 图片的切换效果
                image_effects();
               
                // 将<img>对象的src属性设置为当前num对应的路径
                // 切换图片的显示
                document.slideShow.src = image[num];               
            }
            function previous_image()
            {
                // 当前图片的序号向后移动,如果已经是最后一张,
                // 则切换到第一张图片
                num += image.length - 1;
                num %= image.length;
               
                // 图片的切换效果
                image_effects();
               
                // 将<img>对象的src属性设置为当前num对应的路径
                // 切换图片的显示
                document.slideShow.src = image[num];                               
           
            }
            function slideshow_automatic()
            {
                // 当前图片的序号向后移动,如果已经是最后一张,
                // 则切换到第一张图片
                num ++;
                num %= image.length;
               
                // 图片的切换效果
                image_effects();
               
                // 将<img>对象的src属性设置为当前num对应的路径
                // 切换图片的显示
                document.slideShow.src = image[num];
                timeDelay = setTimeout( "slideshow_automatic()",timeInterval );               
            }
            // 停止自动播放
            function pauseSlideShow()
            {
                // 清除定时器,不再执行slideshow_automatic函数
                clearTimeout(timeDelay);
            }
        </script>
四、在主页面的ONLOAD事件里面添加:

      onload="PreloadImage(2)"

五、WebConfig添加:
       <system.web>
       <httpHandlers>
            <add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro" />
     </httpHandlers>

      <configuration>
       <appSettings>
           <add key="ConnectionString" value="server=127.0.0.1;database=test;uid=sa;pwd=dfdf" />
       </appSettings>   
六、数据库脚本:
       CREATE TABLE [Photo] (
    [id] [int] IDENTITY (1, 1) NOT NULL ,
    [photo_title] [varchar] (128) COLLATE Chinese_PRC_CI_AS NULL ,
    [photo_description] [text] COLLATE Chinese_PRC_CI_AS NULL ,
    [photo_category_id] [int] NULL ,
    [photo_path] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
http://www.cnblogs.com/wander/archive/2006/09/19/508648.html


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·用Session对Web页面进行保护-PHP教程,PHP应用
·C#数据库編程2-.NET教程,数据库应用
·Java变量类型间的相互转换-JSP教程,Jsp/Servlet
·HTML中的数据绑定(Data Binding)-.NET教程,数据库应用
·开关电源发展轨迹
·大功率开关电源系统通信模块设计
·在C#中使用ADO.Net部件来访问Access数据库-.NET教程,数据库应用
·新型数字交叉连接系统sdxc的功能及其在通信网络中应用研究
·WinCE 5.0边做边学(1)-.NET教程,评论及其它
·ups供电系统的可靠性和”可利用率”
最新文章
·seo策略之大型网站_seo网站优化
·dreamweaver经典插件下载_dreamweaver教程
·使用asp.net ajax框架扩展html map控件_asp.net技巧
·个人网站发展和赚钱的模式—选择篇_网赚技巧
·王通:赚钱的三种基本方式_网赚技巧
·爱卡汽车网总裁张京秋:将会并购互补媒体_站长访谈
·站长访谈:mosens—一个高一站长的建站经历_站长访谈
·初学建站应知:网站文件命名规范_站长心得
·你的网站是否会被搜索引擎封杀?_站长心得
·google优化网站管理员指导方针_站长心得
相关主题
西部数码虚拟主机

友情链接
CNNIC 西部数码
万网 自助建站
虚拟主机 asp空间
域名注册 域名
域名申请 主页空间
论坛空间 网站空间
国际域名 虚拟空间
空间租用 DDOS防火墙
成都主机托管 四川主机托管
主机租用 服务器租用
网站目录 自助建站
虚拟主机 网址大全
软件下载
自助链接
虚拟主机资讯 特价虚拟主机
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
发表评论 打印  刷新     关闭