图片跑马灯

先看看效果:

 

在IE浏览时,图片跑马是很流畅的,但在生成动画时,有点跳。

本功能应用Jquery喔,另外Insus.NET把它写在一个用户控件上,在页面需要显示时,拉进去即可。

aspx:

View Code
<% @ Page Language = " VB "  AutoEventWireup = " false "  CodeFile = " Default.aspx.vb "  Inherits = " _Default "   %>

<% @ Register Src = " SiteControls/SlideMarquee.ascx "  TagName = " SlideMarquee "  TagPrefix = " uc1 "   %>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html  xmlns ="http://www.w3.org/1999/xhtml" >
< head  runat ="server" >
     < title ></ title >
     < script  src ='<%=  ResolveUrl("~/Scripts/jquery-1.7.1.js") % > '  type="text/javascript"></script>
</head>
<body>
    <form id="form1" runat="server">
    <div>      
       <br />
        <uc1:SlideMarquee ID="SlideMarquee1" runat="server" Speed="15" Width="160" Height="120" />
    </div>
    </form>
</body>
</html>

 

用户控件有写了三个属性,Speed设置跑马灯的滑动速度,Width跑马灯图片的宽度,Height是跑马灯图片的高度。

用户控件:

View Code
<% @ Control Language = " VB "  AutoEventWireup = " false "  CodeFile = " SlideMarquee.ascx.vb "
    Inherits
= " SiteControls_SlideMarquee "   %>
< style  type ="text/css" >
    *
    
{
        margin
:  0 ;
        padding
:  0 ;
    
}

    img
    
{
        border
:  none ;
    
}

    #slide
    
{
        overflow
:  hidden ;
    
}

    ul
    
{
        list-style
:  none ;
    
}

    li
    
{
        float
:  left ;
    
}

    .slideul1
    
{
        width
:  3999px ;
    
}
</ style >
< div  id ="slide" >
     < ul  class ="slideul1" >
         < li  class ="slideli1" >           
                 < asp:Literal  ID ="LiteralSM"  runat ="server" ></ asp:Literal >           
             < li  class ="slideli2" ></ li >
     </ ul >
</ div >
< script  type ="text/javascript" >       
    
var  _speed  =   < asp:Literal ID = " LiteralJsCode "  runat = " server " >< / asp:Literal>
     var  _slide  =  $( " #slide " );
    
var  _slideli1  =  $( " .slideli1 " );
    
var  _slideli2  =  $( " .slideli2 " );
    _slideli2.html(_slideli1.html());
    
function  Marquee() {
        
if  (_slide.scrollLeft()  >=  _slideli1.width())
            _slide.scrollLeft(
0 );
        
else  {
            _slide.scrollLeft(_slide.scrollLeft() 
+   1 );
        }
    }
    $(
function  () {        
        
var  sliding  =  setInterval(Marquee, _speed)
        _slide.hover(
function  () {            
            clearInterval(sliding);
        }, 
function  () {           
            sliding 
=  setInterval(Marquee, _speed);
        });
    });
</ script >

 

从上面的代码中,Insus.NET有用了两个asp:Literal 控件,作为可传入参数。一个将是显示图片,另一个是传入跑马灯滑动速度。

xxx.asc.vb:

View Code
Imports System.IO
Imports System.Web.UI.HtmlControls
Imports System.Xml
Imports Insus.NET

Partial  Class SiteControls_SlideMarquee
     Inherits System.Web.UI.UserControl
     Private _Speed  As  Integer =  10
     Private _Width  As  Integer =  80
     Private _Height  As  Integer =  60

     Public  WriteOnly  Property Speed()  As  Integer
         Set(value  As  Integer)
            _Speed = value
         End  Set
     End Property

     Public  WriteOnly  Property Width()  As  Integer
         Set(value  As  Integer)
            _Width = value
         End  Set
     End Property

     Public  WriteOnly  Property Height()  As  Integer
         Set(value  As  Integer)
            _Height = value
         End  Set
     End Property

     Protected  Sub Page_Load(sender  As  Object, e  As EventArgs)  Handles  Me.Load
         Me.LiteralJsCode.Text = _Speed

         Dim di  As  New DirectoryInfo(HttpContext.Current.Server.MapPath(InsusBase.SlideMarqueeImageDirectory))
         Dim fiArray  As FileInfo() = di.GetFiles()
         Dim s  As  String =  ""
         For i  As  Integer =  0  To fiArray.Length -  1
            s &=  " <li><img src="" " & ResolveUrl(InsusBase.SlideMarqueeImageDirectory) & fiArray(i).Name &  " "" width="" " & _Width &  " "" height="" " & _Height &  " "" /></li> "
         Next
         Me.LiteralSM.Text =  " <ul class=""slideul2""> " & s &  " </ul> "
     End Sub
End Class

 

上面代码重点部分,是循环存放跑马灯的目录所有图片文件。即也是这篇http://www.cnblogs.com/insus/archive/2012/03/08/2385223.html 输出图片的目录。

另外由于时间关系,Insus.NET只是照搬专案可执行代码,并没有把它转写为C#。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值