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 @   灵动生活  阅读(5854)  评论(6编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示