电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 网络编程 -> Ajax教程
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.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·asp.net ajax beta2 调用本地webservice的一些改变_ajax教程
·读写ini文件的四个函数_visualbasic教程
·利用ajax传递xml文档_ajax教程
·利用php+javascript打造ajax搜索窗_ajax教程
·ajax无刷新实现图片切换特效_ajax教程
·结合ajax进行php开发之入门_ajax教程
·ajax技术制作得在线歌词搜索功能 _ajax教程
·迁移你的web页面到asp.net ajax 1.0 _ajax教程
·初步了解 asp.net ajax 扩展_ajax教程
·在虚拟主机上部署asp.net ajax 1.0 beta的程序集_ajax教程

最新文章
·从两方面看ajax与b/s_ajax教程
·mashups+ajax打造全新web开发_ajax教程
·photoshop照片合成:简单九步做雪地马群_photoshop教程
·用ajax编写用户注册时的应用实例_ajax教程
·photoshop处理唯美梦幻抽线特效_photoshop教程
·ajax的server部分(php版)_ajax教程
·轻松实现无刷新三级联动菜单[vs2005与ajaxpro]_ajax教程
·让你轻松排除windows xp系统启动故障_windows xp
·photoshop处理艺术照:淡雅色调_photoshop教程
·asp.net ajax 客户端生命周期事件_ajax教程


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号