Jquery打造AdRotator轮转图片

Asp.net中的AdRotator是一个非常有用的随机显示广告的控件,不足的地方是,每次用户刷心页面,广告随机一次,哪有没有办法页面不刷新,广告每隔一段时间自动翻转呢?答案是肯定的,而且用jquery 很容易实现,接下来我们看一下如何来实现以上说的效果。

1、新建网站

新建一个网站或者在已有的网站中做添加以下文件和文件夹

新增四张图片和Ad.xml文件,供AdRotator控件调用。

2、完善Ad.xml文件

撰写广告XML代码,如下图所示:

<?xml version="1.0" encoding="utf-8" ?>

<Advertisements>

  <Ad>

    <ImageUrl>001.jpg</ImageUrl>

    <NavigateUrl>ywqu.cnblogs.com</NavigateUrl>

    <AlternateText>灵动生活</AlternateText>

    <Impressions>30</Impressions>

    <Keyword>森森购物</Keyword>

  </Ad>

  <Ad>

    <ImageUrl>002.jpg</ImageUrl>

    <NavigateUrl>ywqu.cnblogs.com</NavigateUrl>

    <AlternateText>灵动生活</AlternateText>

    <Impressions>30</Impressions>

    <Keyword>森森购物</Keyword>

  </Ad>

  <Ad>

    <ImageUrl>003.jpg</ImageUrl>

    <NavigateUrl>ywqu.cnblogs.com</NavigateUrl>

    <AlternateText>灵动生活</AlternateText>

    <Impressions>30</Impressions>

    <Keyword>森森购物</Keyword>

  </Ad>

  <Ad>

    <ImageUrl>004.jpg</ImageUrl>

    <NavigateUrl>ywqu.cnblogs.com</NavigateUrl>

    <AlternateText>灵动生活</AlternateText>

    <Impressions>30</Impressions>

    <Keyword>森森购物</Keyword>

  </Ad>

</Advertisements>

 

3、添加AdRotator控件

向页面AdRotatorDemo.aspx添加AdRotator控件,代码如下:

    <div>

        <asp:AdRotator ID="AdRotator1" runat="server" AdvertisementFile="~/Images/AD/Ad.xml" KeywordFilter="森森购物" />

    </div>

分析:

         AdvertisementFile:引用广告XML文件

         KeywordFilter:通过此属性过滤广告,对应XML文件中的keyword属性,这样不同的页面可以使用此属性过滤一些广告内容。

4、Jquery轮转图片

使用jquery使AdRotator控件中的图片轮转起来,代码如下:

    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>

    <script type="text/javascript">

        $(document).ready(function () {

            setInterval(function () {

                $("#AdRotator1").load(location.href + " #AdRotator1", "" + Math.random() + "");

            }, 3000);

        });

    </script>

分析:在以上代码中我们使用了setInterval function,也调用了jQuery load() api,以达到每3秒钟更新一次数据。

引用:Load(function)

在每一个匹配元素的load事件中绑定一个处理函数。如果绑定给window对象,则会在所有内容加载后触发,包括窗口,框架,对象和图像。如果绑定在元素上,则当元素的内容加载完毕后触发。注意:只有当在这个元素完全加载完之前绑定load的处理函数,才会在他加载完后触发。如果之后再绑定就永远不会触发了。所以不要在$(document).ready()里绑定load事件,因为jQuery会在所有DOM加载完成后再绑定load事件。

为了验证是否刷心页面,在页面上加了一个时间标志。

最终运行效果如下:

有以上图可以知,整个页面并没有刷心。可以自由地每隔3秒钟轮转一次。

posted @ 2010-10-30 00:32  灵动生活  阅读(5852)  评论(6编辑  收藏  举报