博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
图片跑马灯
阅读量:6682 次
发布时间:2019-06-25

本文共 3329 字,大约阅读时间需要 11 分钟。

先看看效果:

 

在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

 

上面代码重点部分,是循环存放跑马灯的目录所有图片文件。即也是这篇 输出图片的目录。

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

 

转载地址:http://yhxao.baihongyu.com/

你可能感兴趣的文章
jdbc性能优化
查看>>
linux下activemq异常退出,重启失败
查看>>
WordPress条件判断标签(Conditional Tags)手册
查看>>
【05】中级:翻页采集(以微博博主主页采集为例)
查看>>
iOS不规则按钮的响应事件的处理方法
查看>>
Linux下密码过期时间设置
查看>>
神经质人格
查看>>
iOS 画圆形
查看>>
OSSEC编写DECODE
查看>>
Hibernate 通用底层Dao
查看>>
JAVA 常用的工具类总结
查看>>
网络安装linux
查看>>
社交大革命,不可遏止的互联网春天
查看>>
蜂巢科技发布首款创新产品“小清新”空气卫士
查看>>
今天访问量过3000了,自己留个脚印
查看>>
FFmpeg笔记 -- AVPacket、AVFrame
查看>>
工作区配置 4
查看>>
Android开发工程师,前行路上的14项技能
查看>>
w 查看系统负载 uptime vmsta 详解 top 详解 sar 命令 free 命令
查看>>
ps 查看进 netstat 查看端口
查看>>