Ajax无刷新实现图片切换特效

一、AjaxMethod
Ajax无刷新实现图片切换特效 using  System;
Ajax无刷新实现图片切换特效
using  System.Data;
Ajax无刷新实现图片切换特效
using  System.Data.SqlClient;
Ajax无刷新实现图片切换特效
Ajax无刷新实现图片切换特效
namespace  AjaxImage
Ajax无刷新实现图片切换特效
{
Ajax无刷新实现图片切换特效    
/// <summary>
Ajax无刷新实现图片切换特效    
/// AjaxMethod 的摘要说明。
Ajax无刷新实现图片切换特效    
/// </summary>

Ajax无刷新实现图片切换特效    public class AjaxMethod
Ajax无刷新实现图片切换特效    
{
Ajax无刷新实现图片切换特效        
public AjaxMethod()
Ajax无刷新实现图片切换特效        
{            
Ajax无刷新实现图片切换特效        }

Ajax无刷新实现图片切换特效        
public static string ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"].ToString();
Ajax无刷新实现图片切换特效
Ajax无刷新实现图片切换特效        
#region GetDataSet
Ajax无刷新实现图片切换特效        
public static DataSet GetDataSet(string sql)
Ajax无刷新实现图片切换特效        
{
Ajax无刷新实现图片切换特效            SqlDataAdapter sda 
= new SqlDataAdapter(sql, ConnectionString);
Ajax无刷新实现图片切换特效            DataSet ds 
= new DataSet();
Ajax无刷新实现图片切换特效            sda.Fill(ds);
Ajax无刷新实现图片切换特效            
if (ds != null)
Ajax无刷新实现图片切换特效                
return ds;
Ajax无刷新实现图片切换特效            
else
Ajax无刷新实现图片切换特效                
return null;
Ajax无刷新实现图片切换特效        }

Ajax无刷新实现图片切换特效        
#endregion

Ajax无刷新实现图片切换特效
Ajax无刷新实现图片切换特效        [AjaxPro.AjaxMethod]
Ajax无刷新实现图片切换特效        
public static DataSet GetPhotoList( int iCategoryID )
Ajax无刷新实现图片切换特效        
{
Ajax无刷新实现图片切换特效            
string sql = "Select id,photo_path FROM Photo where photo_category_id=" + iCategoryID ;
Ajax无刷新实现图片切换特效            
return GetDataSet( sql );
Ajax无刷新实现图片切换特效        }

Ajax无刷新实现图片切换特效        [AjaxPro.AjaxMethod]
Ajax无刷新实现图片切换特效        
public static DataSet GetPhotoInfo( int id )
Ajax无刷新实现图片切换特效        
{
Ajax无刷新实现图片切换特效            
string sql = string.Format("SELECT photo_title, photo_description FROM Photo WHERE id = {0}", id);
Ajax无刷新实现图片切换特效            
return GetDataSet( sql );
Ajax无刷新实现图片切换特效        }

Ajax无刷新实现图片切换特效
Ajax无刷新实现图片切换特效    }
//end class
Ajax无刷新实现图片切换特效
}

Ajax无刷新实现图片切换特效

二、页面HTML代码:
Ajax无刷新实现图片切换特效 < div  id ="Layer1"  style ="Z-INDEX:1; LEFT:104px; WIDTH:501px; POSITION:absolute; TOP:28px; HEIGHT:345px" >
Ajax无刷新实现图片切换特效                
< img  name ="slideShow"  src ="images/space.gif"  width ="500"  height ="300"  style ="FILTER:revealTrans(duration=2,transition=23)" >
Ajax无刷新实现图片切换特效            
</ div >
Ajax无刷新实现图片切换特效            
< div  id ="Layer2"  style ="Z-INDEX:2; LEFT:490px; WIDTH:112px; POSITION:absolute; TOP:380px; HEIGHT:26px" >
Ajax无刷新实现图片切换特效                
< img  id ="btnPlay"  src ="images/play_bw.gif"  onclick ="slideshow_automatic()"  onmouseover ="this.src='images/play.gif'"
Ajax无刷新实现图片切换特效                    onmouseout
="this.src='images/play_bw.gif'" >   < img  id ="btnPause"  src ="images/pause_bw.gif"  onclick ="pauseSlideShow()"  onmouseover ="this.src='images/pause.gif'"
Ajax无刷新实现图片切换特效                    onmouseout
="this.src='images/pause_bw.gif'" >   < img  id ="btnPrev"  src ="images/prev_bw.gif"  onclick ="previous_image()"  onmouseover ="this.src='images/prev.gif'"
Ajax无刷新实现图片切换特效                    onmouseout
="this.src='images/prev_bw.gif'" >   < img  id ="btnNext"  src ="images/next_bw.gif"  onclick ="next_image()"  onmouseover ="this.src='images/next.gif';next_image()"
Ajax无刷新实现图片切换特效                    onmouseout
="this.src='images/next_bw.gif'" >
Ajax无刷新实现图片切换特效            
</ div >

三、JAVASCRIPT:
Ajax无刷新实现图片切换特效 < script language = " javascript "  type = " text/javascript " >
Ajax无刷新实现图片切换特效            
//  定时器
Ajax无刷新实现图片切换特效
             var  timeDelay;
Ajax无刷新实现图片切换特效            
Ajax无刷新实现图片切换特效            
//  图片自动浏览时的时间间隔
Ajax无刷新实现图片切换特效
             var  timeInterval  =   4000 ;
Ajax无刷新实现图片切换特效            
Ajax无刷新实现图片切换特效            
//  Array对象,存储图片文件的路径
Ajax无刷新实现图片切换特效
             var  image;
Ajax无刷新实现图片切换特效            
Ajax无刷新实现图片切换特效            
//  当前显示的图片序号
Ajax无刷新实现图片切换特效
             var  num;
Ajax无刷新实现图片切换特效            
Ajax无刷新实现图片切换特效            
//  图片信息数据表
Ajax无刷新实现图片切换特效
             var  dt;
Ajax无刷新实现图片切换特效            
//  预加载图片信息
Ajax无刷新实现图片切换特效
             function  PreloadImage(iCategoryID)
Ajax无刷新实现图片切换特效            
{
Ajax无刷新实现图片切换特效                
// 采用同步调用的方式获取图片的信息                
Ajax无刷新实现图片切换特效
                var ds = AjaxImage.AjaxMethod.GetPhotoList(iCategoryID).value;
Ajax无刷新实现图片切换特效                
Ajax无刷新实现图片切换特效                
// 如果返回了结果
Ajax无刷新实现图片切换特效
                if (ds)
Ajax无刷新实现图片切换特效                
{
Ajax无刷新实现图片切换特效                    
// 判断数据表是否不为空
Ajax无刷新实现图片切换特效
                    if (ds.Tables[0].Rows.length > 0)
Ajax无刷新实现图片切换特效                    
{
Ajax无刷新实现图片切换特效                        
// 返回的图片信息数据表
Ajax无刷新实现图片切换特效
                        dt = ds.Tables[0];
Ajax无刷新实现图片切换特效                        
Ajax无刷新实现图片切换特效                        
// 用image对象存储图片的文件路径
Ajax无刷新实现图片切换特效
                        image = new Array();
Ajax无刷新实现图片切换特效                        
Ajax无刷新实现图片切换特效                        
// 图片在Photos目录下
Ajax无刷新实现图片切换特效
                        for (var i = 0; i < dt.Rows.length; i++)
Ajax无刷新实现图片切换特效                        
{
Ajax无刷新实现图片切换特效                            image[i] 
= "Photos/" + dt.Rows[i].photo_path;
Ajax无刷新实现图片切换特效                        }

Ajax无刷新实现图片切换特效                                    
Ajax无刷新实现图片切换特效                        
// imagePreload对象用于实现图片的预缓存
Ajax无刷新实现图片切换特效
                        var imagePreload = new Array();
Ajax无刷新实现图片切换特效                        
for (var i = 0;i < image.length;i++)
Ajax无刷新实现图片切换特效                        
{
Ajax无刷新实现图片切换特效                            
// 通过新建Image对象,并将其src属性指向图片的URL
Ajax无刷新实现图片切换特效
                            // 显现图片的预缓存
Ajax无刷新实现图片切换特效
                            imagePreload[i] = new Image();
Ajax无刷新实现图片切换特效                            imagePreload[i].src 
= image[i];
Ajax无刷新实现图片切换特效                        }

Ajax无刷新实现图片切换特效
Ajax无刷新实现图片切换特效                        
// 初始化一些变量
Ajax无刷新实现图片切换特效
                        num = -1;
Ajax无刷新实现图片切换特效                        
//nStatus = 0x09;
Ajax无刷新实现图片切换特效
                        
Ajax无刷新实现图片切换特效                        
// 加载第一张图片
Ajax无刷新实现图片切换特效
                        next_image();                
Ajax无刷新实现图片切换特效                    }

Ajax无刷新实现图片切换特效                    
else // 分类下没有图片
Ajax无刷新实现图片切换特效
                    {
Ajax无刷新实现图片切换特效                        alert(
"该目录下没有图片!");
Ajax无刷新实现图片切换特效                    }

Ajax无刷新实现图片切换特效                }
                
Ajax无刷新实现图片切换特效            }

Ajax无刷新实现图片切换特效            
//  实现图片切换时的效果
Ajax无刷新实现图片切换特效
             function  image_effects()
Ajax无刷新实现图片切换特效            
{
Ajax无刷新实现图片切换特效                
// Transition的值为0~23之间的随机数,代表24种切换效果
Ajax无刷新实现图片切换特效
                // 具体值与效果之间的对应见MSDN
Ajax无刷新实现图片切换特效
                document.slideShow.filters.revealTrans.Transition = Math.random() * 23;
Ajax无刷新实现图片切换特效                
Ajax无刷新实现图片切换特效                
// 应用并播放切换效果
Ajax无刷新实现图片切换特效
                document.slideShow.filters.revealTrans.apply();
Ajax无刷新实现图片切换特效                document.slideShow.filters.revealTrans.play();
Ajax无刷新实现图片切换特效            }

Ajax无刷新实现图片切换特效            
function  next_image()
Ajax无刷新实现图片切换特效            
{
Ajax无刷新实现图片切换特效                
// 当前图片的序号向后移动,如果已经是最后一张,
Ajax无刷新实现图片切换特效
                // 则切换到第一张图片
Ajax无刷新实现图片切换特效
                num++;
Ajax无刷新实现图片切换特效                num 
%= image.length;
Ajax无刷新实现图片切换特效                
Ajax无刷新实现图片切换特效                
// 图片的切换效果
Ajax无刷新实现图片切换特效
                image_effects();
Ajax无刷新实现图片切换特效                
Ajax无刷新实现图片切换特效                
// 将<img>对象的src属性设置为当前num对应的路径
Ajax无刷新实现图片切换特效
                // 切换图片的显示
Ajax无刷新实现图片切换特效
                document.slideShow.src = image[num];                
Ajax无刷新实现图片切换特效            }

Ajax无刷新实现图片切换特效            
function  previous_image()
Ajax无刷新实现图片切换特效            
{
Ajax无刷新实现图片切换特效                
// 当前图片的序号向后移动,如果已经是最后一张,
Ajax无刷新实现图片切换特效
                // 则切换到第一张图片
Ajax无刷新实现图片切换特效
                num += image.length - 1;
Ajax无刷新实现图片切换特效                num 
%= image.length;
Ajax无刷新实现图片切换特效                
Ajax无刷新实现图片切换特效                
// 图片的切换效果
Ajax无刷新实现图片切换特效
                image_effects();
Ajax无刷新实现图片切换特效                
Ajax无刷新实现图片切换特效                
// 将<img>对象的src属性设置为当前num对应的路径
Ajax无刷新实现图片切换特效
                // 切换图片的显示
Ajax无刷新实现图片切换特效
                document.slideShow.src = image[num];                                
Ajax无刷新实现图片切换特效            
Ajax无刷新实现图片切换特效            }

Ajax无刷新实现图片切换特效            
function  slideshow_automatic()
Ajax无刷新实现图片切换特效            
{
Ajax无刷新实现图片切换特效                
// 当前图片的序号向后移动,如果已经是最后一张,
Ajax无刷新实现图片切换特效
                // 则切换到第一张图片
Ajax无刷新实现图片切换特效
                num ++;
Ajax无刷新实现图片切换特效                num 
%= image.length;
Ajax无刷新实现图片切换特效                
Ajax无刷新实现图片切换特效                
// 图片的切换效果
Ajax无刷新实现图片切换特效
                image_effects();
Ajax无刷新实现图片切换特效                
Ajax无刷新实现图片切换特效                
// 将<img>对象的src属性设置为当前num对应的路径
Ajax无刷新实现图片切换特效
                // 切换图片的显示
Ajax无刷新实现图片切换特效
                document.slideShow.src = image[num];
Ajax无刷新实现图片切换特效                timeDelay 
= setTimeout( "slideshow_automatic()",timeInterval );                
Ajax无刷新实现图片切换特效            }

Ajax无刷新实现图片切换特效            
//  停止自动播放
Ajax无刷新实现图片切换特效
             function  pauseSlideShow()
Ajax无刷新实现图片切换特效            
{
Ajax无刷新实现图片切换特效                
// 清除定时器,不再执行slideshow_automatic函数
Ajax无刷新实现图片切换特效
                clearTimeout(timeDelay);
Ajax无刷新实现图片切换特效            }

Ajax无刷新实现图片切换特效        
</ 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>   
六、数据库脚本:
      
Ajax无刷新实现图片切换特效 CREATE   TABLE   [ Photo ]  (
Ajax无刷新实现图片切换特效    
[ id ]   [ int ]   IDENTITY  ( 1 1 NOT   NULL  ,
Ajax无刷新实现图片切换特效    
[ photo_title ]   [ varchar ]  ( 128 ) COLLATE Chinese_PRC_CI_AS  NULL  ,
Ajax无刷新实现图片切换特效    
[ photo_description ]   [ text ]  COLLATE Chinese_PRC_CI_AS  NULL  ,
Ajax无刷新实现图片切换特效    
[ photo_category_id ]   [ int ]   NULL  ,
Ajax无刷新实现图片切换特效    
[ photo_path ]   [ varchar ]  ( 255 ) COLLATE Chinese_PRC_CI_AS  NULL  
Ajax无刷新实现图片切换特效
ON   [ PRIMARY ]  TEXTIMAGE_ON  [ PRIMARY ]
Ajax无刷新实现图片切换特效
GO

你可能感兴趣的:(Ajax)