asp.net中如何实现图片自动切换?用image控件行不? 广告控件!or用ajax更换地址。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 广告空间应该可以实现,也就是AdRotator。楼主可以试试! 看看我的实现/// <summary> /// 图片轮换 /// </summary> /// <returns>前台页面js脚本</returns> protected string LoadImage() { string img = "";//用于加载图片路径、信息的js脚本 string _url = ""; img += "var ImgAlt = new Array();";//定义“鼠标放上去显示的文字”的js数组 img += "var ImgSrc = new Array();";//定义“图片地址”的js数组 for (int m = 0; m < .Rows.Count; m++) { _url = ;//数据库中用于显示的图片路径 img += "ImgSrc[" + m + "] = " + "' + "';";//用于显示的图片路径 img += "ImgAlt[" + m + "] = " + "'" + + "'" + ";";//数据库中的图片说明,用于鼠标放上去显示的文字 } img += "for (var i=0;i<ImgSrc.length;i++){(new Image()).src = ImgSrc[i];}";//预加载图片 return img; }}前台用<Asp:Image>控件或是<image>都行。<img src='' id="img" style="filter: blendTrans(duration=2)" width="240" height="180" /><script type="text/javascript"><!-- <%=LoadImage()%>//加载后台生成js脚本,包含图片信息。 var step=0; function slideit() { var oImg = document.getElementById("img"); if (document.all) {oImg.filters.blendTrans.apply();} oImg.src=ImgSrc[step]; oImg.title=ImgAlt[step]; if (document.all) {oImg.filters.blendTrans.play();} step = (step<(ImgSrc.length-1))?(step+1):0; (new Image()).src = ImgSrc[step];//加载下一个图片 } setInterval("slideit()",3000);//--></script>原帖http://topic.csdn.net/u/20080331/17/3a4d1022-a943-401b-bd59-39127e7612a9.html 强烈建议使用Javascript,因为ASP.NET的代码都是Server端的代码。意味着你为了一个图片切换就要和Server完成一次Postback 和Refresh。 这无论在时间和性能上都是不必要的损伤。使用javascript在客户端就可以完成这个动作。 这个功能用js就可以实现把下面的代码放在<body></body>之间即可.<script language=JavaScript> <!-- // BannerAD var bannerAD=new Array();var bannerhref="/new" Array(); var bannerADlink=new Array(); var adNum=0; bannerAD[0]="01.jpg"; bannerADlink[0]="http://www.test1.com"; bannerAD[1]="02.jpg"; bannerADlink[1]="http://www.test2.com"; bannerAD[2]="03.jpg"; bannerADlink[0]="http://www.test3.com"; var preloadedimages=new Array(); for (i=1;i<bannerAD.length;i++){ preloadedimages[i]=new Image(); preloadedimages[i].src="/bannerAD[i]"; } function setTransition(){ if (document.all){ bannerADrotator.filters.revealTrans.Transition=Math.floor(Math.random()*23); bannerADrotator.filters.revealTrans.apply(); } } function playTransition(){ if (document.all) bannerADrotator.filters.revealTrans.play() } function nextAd(){ if(adNum<bannerAD.length-1)adNum++ ; else adNum=0; setTransition(); document.images.bannerADrotator.src="/bannerAD[adNum]"; playTransition(); theTimer=setTimeout("nextAd()", 5000); } function jump2url(){ jumpUrl=bannerADlink[adNum]; jumpTarget='_blank'; if (jumpUrl != ''){ if (jumpTarget != '')window.open(jumpUrl,jumpTarget); else location.href="/jumpUrl"; } } function displayStatusMsg() { status=bannerADlink[adNum]; document.returnValue = true; } //--> </script><SCRIPT language=JavaScript>nextAd()</SCRIPT><A onmouseover="displayStatusMsg();return document.returnValue" href="javascript:jump2url()"><IMG style="FILTER: revealTrans(duration=3,transition=20)" height=200 src="/01.jpg" width=300 border=0 name=bannerADrotator></A> 但是你要是要从数据库中读取地址就要用ajax "但是你要是要从数据库中读取地址就要用ajax",我也想用ajax。但是要花时间研究,不知是否有现成的。 【马上结贴】鼠标移动改变字体颜色 求ActiveX事例 关于SQLServer2005+asp.net2.0的SqlCacheDependency缓存依赖问题 我刚开始学习,想问个问题,希望有人能帮我解决,谢谢 求高手把下面的C#帮我改成存储过程(急) 急!!!明天须面试(可以给分!) 有个问题 MVC3 如何记录登录所在页,登录成功后返回 怎么扒取网站数据 如何解决datagrid显示海量数据,?? 程序传到服务器上TreeView控件展不开是什么原因 二维码来源统计功能
/// <summary>
/// 图片轮换
/// </summary>
/// <returns>前台页面js脚本</returns>
protected string LoadImage()
{
string img = "";//用于加载图片路径、信息的js脚本
string _url = ""; img += "var ImgAlt = new Array();";//定义“鼠标放上去显示的文字”的js数组
img += "var ImgSrc = new Array();";//定义“图片地址”的js数组 for (int m = 0; m < .Rows.Count; m++)
{
_url = ;//数据库中用于显示的图片路径 img += "ImgSrc[" + m + "] = " + "' + "';";//用于显示的图片路径
img += "ImgAlt[" + m + "] = " + "'" + + "'" + ";";//数据库中的图片说明,用于鼠标放上去显示的文字 }
img += "for (var i=0;i<ImgSrc.length;i++){(new Image()).src = ImgSrc[i];}";//预加载图片 return img;
}
}前台用<Asp:Image>控件或是<image>都行。
<img src='' id="img" style="filter: blendTrans(duration=2)" width="240"
height="180" />
<script type="text/javascript">
<!--
<%=LoadImage()%>//加载后台生成js脚本,包含图片信息。
var step=0;
function slideit()
{
var oImg = document.getElementById("img");
if (document.all)
{oImg.filters.blendTrans.apply();}
oImg.src=ImgSrc[step];
oImg.title=ImgAlt[step];
if (document.all)
{oImg.filters.blendTrans.play();}
step = (step<(ImgSrc.length-1))?(step+1):0;
(new Image()).src = ImgSrc[step];//加载下一个图片
}
setInterval("slideit()",3000);
//-->
</script>原帖
http://topic.csdn.net/u/20080331/17/3a4d1022-a943-401b-bd59-39127e7612a9.html
使用javascript在客户端就可以完成这个动作。
<!-- // BannerAD var bannerAD=new Array();
var bannerhref="/new" Array();
var bannerADlink=new Array();
var adNum=0;
bannerAD[0]="01.jpg";
bannerADlink[0]="http://www.test1.com";
bannerAD[1]="02.jpg";
bannerADlink[1]="http://www.test2.com";
bannerAD[2]="03.jpg";
bannerADlink[0]="http://www.test3.com";
var preloadedimages=new Array(); for (i=1;i<bannerAD.length;i++){
preloadedimages[i]=new Image();
preloadedimages[i].src="/bannerAD[i]";
} function setTransition(){
if (document.all){
bannerADrotator.filters.revealTrans.Transition=Math.floor(Math.random()*23);
bannerADrotator.filters.revealTrans.apply();
}
} function playTransition(){
if (document.all)
bannerADrotator.filters.revealTrans.play()
} function nextAd(){
if(adNum<bannerAD.length-1)adNum++ ;
else adNum=0;
setTransition();
document.images.bannerADrotator.src="/bannerAD[adNum]";
playTransition();
theTimer=setTimeout("nextAd()", 5000);
} function jump2url(){
jumpUrl=bannerADlink[adNum];
jumpTarget='_blank';
if (jumpUrl != ''){
if (jumpTarget != '')window.open(jumpUrl,jumpTarget);
else location.href="/jumpUrl";
}
}
function displayStatusMsg() {
status=bannerADlink[adNum];
document.returnValue = true;
} //-->
</script><SCRIPT language=JavaScript>nextAd()</SCRIPT><A onmouseover="displayStatusMsg();return document.returnValue" href="javascript:jump2url()"><IMG style="FILTER: revealTrans(duration=3,transition=20)" height=200 src="/01.jpg" width=300 border=0 name=bannerADrotator></A>
但是你要是要从数据库中读取地址就要用ajax