欢迎光临
我们一直在努力

利用javascript从数据库取数据来实现csdn首页图片的切换效果 _javascript教程

建站超值云服务器,限时71元/月

我在网上下载了一个网站的部分源代码 ,看到里面有实现CSDN首页图片的切换效果。虽然以前看网上有许多转载的,但是里面的代码都是在js中定义一个数组来存放图片的信息,但是今天这个方法更加灵活啊!只需要以下几步即可。


1.创建sql数据库:


CREATE TABLE [dbo].[images] (


   [imageid] [int] IDENTITY (1, 1) NOT NULL ,


   [imgUrl] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,


   [imgText] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,


   [imgLink] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,


   [imgAlt] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL


) ON [PRIMARY]


2.引用外部css代码


<link href=”styles/StyleSheet2.css” rel=”stylesheet” type=”text/css” />


3.写js代码:(不知道为什么放在一个单独的js文件不行)


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


    var imgWidth=248;              //图片宽


var imgHeight=200;             //图片高


var textFromHeight=21;         //焦点字框高度 (单位为px)


var textStyle=”whiter”;           //焦点字class style (不是连接class)


var textLinkStyle=”whiter”; //焦点字连接class style


var buttonLineOn=”#f60″;           //button下划线on的颜色


var buttonLineOff=”#000″;          //button下划线off的颜色


var TimeOut=5000;              //每张图切换时间 (单位毫秒);


var imgUrl=new Array();


var imgLink=new Array();


var imgtext=new Array();


var imgAlt=new Array();


var adNum=0;


//焦点字框高度样式表 开始


document.write(<style type=”text/css”>);


document.write(#focuseFrom{width:+(imgWidth+2)+;margin: 0px; padding:0px;height:+(imgHeight+textFromHeight)+px; overflow:hidden;});


document.write(#txtFrom{height:+textFromHeight+px;line-height:+textFromHeight+px;width:+imgWidth+px;overflow:hidden;});


document.write(#imgTitle{width:+imgWidth+;top:-+(textFromHeight+14)+px;height:18px});


document.write(</style>);


document.write(<div id=”focuseFrom”>);


//焦点字框高度样式表 结束


 


 


imgUrls=”<%=imgUrl%>”;//获取后台cs代码的属性


imgtexts=”<%=imgtext%>”;


imgLinks=”<%=imgLink%>”;


imgAlts=”<%=imgAlt%>”;


 


imgUrl=imgUrls.split(“,”);


imgtext=imgUrls.split(“,”);


imgLink=imgUrls.split(“,”);


imgAlt=imgUrls.split(“,”);


 


function changeimg(n)


{


 adNum=n;


 window.clearInterval(theTimer);


 adNum=adNum-1;


 nextAd();


}


function goUrl(){


window.open(imgLink[adNum],_blank);


}


//NetScape开始


if (navigator.appName == “Netscape”)


{


document.write(<style type=”text/css”>);


document.write(.buttonDiv{height:4px;width:21px;});


document.write(</style>);


function nextAd(){


 if(adNum<(imgUrl.length-1))adNum++;


 else adNum=1;


 theTimer=setTimeout(“nextAd()”, TimeOut);


 document.images.imgInit.src=imgUrl[adNum];


 document.images.imgInit.alt=imgAlt[adNum];


 //document.getElementById(focustext).innerHTML=imgtext[adNum];//在图片下面显示图片的路径


 document.getElementById(imgLink).href=imgLink[adNum];


 


}


 document.write(<a id=”imgLink” href=”+imgLink[1]+” target=_blank class=”p1″><img src=”http://www.knowsky.com/+imgUrl[1]+” name=”imgInit” width=+imgWidth+ height=+imgHeight+ border=1 alt=”+imgAlt[1]+” class=”imgClass”></a><div id=”txtFrom”><span id=”focustext” class=”+textStyle+”>+imgtext[1]+</span></div>);


 


 document.write(<div id=”imgTitle”>);


 document.write(<div id=”imgTitle_down”>);


//数字按钮代码开始


for(var i=1;i<imgUrl.length;i++){document.write(<a href=”javascript:changeimg(+i+)” class=”button” style=”cursor:hand” title=”+imgAlt[i]+”>+i+</a>);}


//数字按钮代码结束


 document.write(</div>);


 document.write(</div>);


 document.write(</div>);


 nextAd();


}


//NetScape结束


//IE开始


else


{


var count=0;


for (i=1;i<imgUrl.length;i++) {


 if( (imgUrl[i]!=””) && (imgLink[i]!=””)&&(imgtext[i]!=””)&&(imgAlt[i]!=””) ) {


  count++;


 } else {


  break;


 }


}


function playTran(){


 if (document.all)


  imgInit.filters.revealTrans.play(); 


}


var key=0;


function nextAd(){


 if(adNum<count)adNum++ ;


 else adNum=1;


 


 if( key==0 ){


  key=1;


 } else if (document.all){


  imgInit.filters.revealTrans.Transition=23;


  imgInit.filters.revealTrans.apply();


                   playTran();


    }


 document.images.imgInit.src=imgUrl[adNum];


 document.images.imgInit.alt=imgAlt[adNum];


 document.getElementById(link+adNum).style.background=buttonLineOn;


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


 {


    if (i!=adNum){document.getElementById(link+i).style.background=buttonLineOff;}


 }


    //focustext.innerHTML=imgtext[adNum];//在图片下面显示路径


 theTimer=setTimeout(“nextAd()”, TimeOut);


}


document.write(<a target=_self href=”javascript:goUrl()”><img style=”FILTER: revealTrans(duration=1,transition=5);” src=”http://www.knowsky.com/javascript:nextAd()” width=+imgWidth+ height=+imgHeight+ border=0 vspace=”0″ name=imgInit class=”imgClass”></a><br>);


document.write(<div id=”txtFrom”><span id=”focustext” class=”+textStyle+”></span></div>);


document.write(<div id=”imgTitle”>);


document.write( <div id=”imgTitle_down”> <a class=”trans”></a>);


//数字按钮代码开始


for(var i=1;i<imgUrl.length;i++)


{


    document.write(<a id=”link+i+”  href=”javascript:changeimg(+i+)” class=”button” style=”cursor:hand; ” title=”+imgAlt[i]+”  onFocus=”this.blur()”>+i+</a>);


}


//数字按钮代码结束


document.write(</div>);


document.write(</div>);


document.write(</div>);


document.write(</div>);


}


//IE结束


 


</script>


里面重要的地方都有注释了,直接复制到你的aspx代码中即可。


注意:在<body></body>中不要<form></form>标签,直接在<div align=left>


</div>中输入上面的js代码即可。不知道为什么有form总是报imgInit错误。


4.在cs进行数据库调用:直接代码了,呵呵呵不会看不懂吧


protected void Page_Load(object sender, EventArgs e)


    {


        if (!Page.IsPostBack)


        {


            bind();


        }


    }


    public string imgUrl = “”, imgLink = “”, imgtext = “”, imgAlt = “”;


    void bind()


    {


        using (SqlConnection connection = new SqlConnection(“server=.;database=northwind;uid=sa;pwd=123”))


        {


            SqlDataAdapter sda = new SqlDataAdapter(“select top 5 * from images order by imageid desc”, connection);


            DataSet ds = new DataSet();


            DataTable dt = new DataTable();


            sda.Fill(ds);


            dt = ds.Tables[0];


            for (int i = 0; i < dt.Rows.Count; i++)


            {


                imgUrl += dt.Rows[i][“imgUrl”].ToString() + “,”;


                imgtext += dt.Rows[i][“imgText”].ToString() + “,”;


                imgLink += dt.Rows[i][“imgLink”].ToString() + “,”;


                imgAlt += dt.Rows[i][“imgAlt”].ToString() + “,”;


            }


        }


 


    }


 


测试环境:vs2005


如果看着不错对你有用麻烦顶一下啊!如果有好的建议或者好的解决方案也麻烦你共享一下,谢谢!


E-mail:teng_s2000@126.com


QQ:37210956

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 利用javascript从数据库取数据来实现csdn首页图片的切换效果 _javascript教程
分享到: 更多 (0)