當前位置:編程學習大全網 - 源碼下載 - mvc實現動態圖片切換.net

mvc實現動態圖片切換.net

我是先將圖片信息放到了頁面的某個隱藏域中,如:

後臺在Page_Load的時候先從數據庫中取圖片:

protected void Page_Load(object sender, EventArgs e)

{

Hidden2.Value = "";

LoginBLL log = new LoginBLL();

DataSet ds = log.GetImage("1");//獲取圖片信息

if (ds != null && ds.Tables[0].Rows.Count > 0)

{

for (int i = 0; i < ds.Tables[0].Rows.Count; i++)

{

Hidden1.Value += ds.Tables[0].Rows[i]["Image"].ToString() + ","; }

}

}

這是前臺頁面,由於隱藏域中已經有值,所以我將取出來的值用JS加CSS樣式來實現的,能夠達到每五秒鐘切換壹次圖片,點擊圖片,可以瀏覽到大圖。我將取出的圖片用“,”進行連接,然後再通過JS拆分後分別賦值創建並賦給對象,以達到動態切換圖片的效果。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>

<head>

<title></title>

</head>

<body>

<input id="Hidden1" type="hidden" runat="server" />

<script type="text/javascript" language="javascript">

var widths=500; //焦點圖片寬

var w=2;

var widthss=widths+w;

var heights=221; //焦點圖片高

//var heightss=heightss+w;

//var heightt=32;

//總條數

//img1=new Image();在這裏是聲明了壹個圖片元素的對象

//後面是對圖像的屬性進行賦值或設置,如imgs.src="xxxx.jpg"是指定圖片的索引地址.

//這個代碼壹般用於head區,用於預加載圖片,即加快圖片顯示.

//只有用new Images()得到的圖片IE7才認,

//而IE6和firefox可認得imgUrl[1]="/y9q9ms7lbgbt.jpg";得到的圖片

var str=document.getElementById('Hidden1').value.split(',');

if(str!="")

{

for(var i=0;i<str.length-1;i++)

{//獲取圖片的數量,並創建對象

eval('img'+(i+1)+'=new Image();');

eval('img'+(i+1)+'.src="'+str[i]+'";');

eval('url'+(i+1)+'=new Image();');

eval('url'+(i+1)+'.src="'+str[i]+'";');

}

}

var counts=str.length-1;

var nn=1; //當前所顯示的滾動圖

var key=0; //標識是否為第壹次開始執行

var tt; //標識作用

function change_imgbaner()

{

if(key==0){key=1;} //如果第壹次執行KEY=1,表示已經執行過壹次了。

else if(document.all)//document.all僅IE6/7認識,firefox不會執行此段內容

{

document.getElementById("pic").filters[0].Apply(); //將濾鏡應用到對像上

document.getElementById("pic").filters[0].Play(duration=1); //開始轉換

document.getElementById("pic").filters[0].SlideStyle='SWAP';//轉換效果

document.getElementById("pic").filters[0].Bands=1;

// with(document.getElementById("pic").filters[0])

// { Duration=2;SlideStyle='SWAP';Bands=1; }

}

eval('document.getElementById("pic").src=img'+nn+'.src'); //替換圖片

eval('document.getElementById("url").href=url'+nn+'.src'); //替換URL

//eval('document.getElementById("title").value=txt'+nn+'.txt'); //替換ALT

for (var i=1;i<=counts;i++)

{

document.getElementById("xxjdjj"+i).className='axx'; //將下面黑條上的所有鏈接變為未選中狀態

}

document.getElementById("xxjdjj"+nn).className='bxx'; //將當前頁面的ID設置為選中狀態

nn++;

if(nn>counts){nn=1;} //如果ID大於總圖片數量。則從頭開始循環

tt=setTimeout('change_imgbaner()',5000); //在4秒後重新執行change_imgbaner()方法.

}

function changeimg(n)//點擊黑條上的鏈接執行的方法。

{

nn=n; //當前頁面的ID等於傳入的N值,

window.clearInterval(tt); //清除用於循環的TT

//重新執行change_imgbaner();但change_imgbaner()內所調用的圖片ID已經在此處被修改,會從新ID處開始執行.

tt=setTimeout('change_imgbaner()',500);

//change_imgbaner();

}

function aHref()

{return;}

//樣式表

document.write('<style>');

document.write('.axx{padding:1px 7px;margin:0 5px;}');

document.write('a.axx:link,a.axx:visited{text-decoration:none;color:#000;line-height:12px;font:12px sans-serif;background:#fff;border:1px solid #3467cc}');

document.write('a.axx:active,a.axx:hover{text-decoration:none;color:#fff;line-height:12px;font:12px sans-serif;background:#666;}');

document.write('.bxx{padding:1px 7px;margin:0 5px;}');

document.write('a.bxx:link,a.bxx:visited{text-decoration:none;color:#fff;line-height:14px;font:14px sans-serif;background:#95bdeb;font-weight:900}');

document.write('a.bxx:active,a.bxx:hover{text-decoration:none;color:#fff;line-height:14px;font:14px sans-serif;background:#ff9900;font-weight:900}');

document.write('</style>');

//內容部分

document.write('<div style="width:'+widthss+'px;height:'+heights+'px;overflow:hidden;text-overflow:clip;float:left;">');

document.write('<div><a id="url" target="_blank"><img id="pic" style="border:0px #cbcbcb solid;FILTER: progid:DXImageTransform.Microsoft.Slide(duration=1,slidestyle=SWAP,Bands=1)" width='+widths+' height='+heights+' /></a></div>');

document.write('<div style="background: transparent;width:98%;text-align:right;top:-30px;position:relative;margin:1px;height:32px;border:0px;padding-top:1px;z-index:0;"><div>');

for(var i=1;i<counts+1;i++){document.write('<a href="javascript:aHref();" id="xxjdjj'+i+'" class="axx" target="_self" onmouseover="javascript:changeimg('+i+');">'+i+'</a>');}

document.write('</div></div></div>');

//開始執行滾動操作

change_imgbaner();

-->

</script>

</body>

</html>

PS:MVC框架無非就是通過某個框架結構來獲取需要的結果而已,妳所要的效果與MVC框架並無直接關系,只是獲取圖片的集合需要通過MVC的架構關系來讀取,通過視圖層調用業務層的方法,業務層再通過數據訪問層從數據庫獲取數據,再返回給業務邏輯層,進而再返回給視圖層,最終還是由視圖層來對返回的結果進行處理顯示在頁面上,而妳需要的不就是視圖層來顯示圖片切換的效果嗎?我將從數據庫取圖片的步驟省略了,我用的也是三層架構,註意:

LoginBLL log = new LoginBLL();

DataSet ds = log.GetImage("1");//獲取圖片信息

我的這壹步就是獲取圖片信息,調用的是業務邏輯層的某個接口下的方法,因此接口名後面帶有BLL,而在我的DataAccess類下,反射創建類的實例,將某些類的模塊反射給接口,而真正與數據庫交互的就是這些類,而後面的HTML代碼則是對妳圖片進行切換的JS和CSS樣式,通過它們來達到想要的效果,所以妳所講的效果與MVC架構並無太大關系。

  • 上一篇:仙劍奇俠傳1、2、3、4中仙劍分別是哪些?
  • 下一篇:拉米拉全網病毒式霸屏營銷推廣系統
  • copyright 2024編程學習大全網