关于轮播图片的前台显示问题,小弟想向前辈们请教请教!
是这样的,小弟是在校学生,这几天正在做毕业设计,做的是我们系的网站,其它功能已经实现了,就差首页的轮播图片的管理这一块了。
因为轮播的图片一共只有4张,而且不会很频繁地更换,所以我的轮播图片更新的实现思路是这样的:
1、数据库:建一张表来存储轮播图片信息,包括字段:id、图片说明、图片链接和图片路径;(这张表中事先存放4条记录)
2、后台:更新轮播图片——查询出要更换图片的信息,放到更新的表单里(图片路径除外),修改图片说明、图片链接,上传图片,然后“保存修改”。
先从服务器上删除原来的图片,再上传新的图片,最后更新数据库里相应的记录。
3、前台(问题就在这里):轮播图片是用JS实现的,所以无法直接用EL表达式获取轮播图片的信息。
我上网查了半天后发现,可以通过AJAX来实现,但感觉很复杂。然后我想到先用隐藏域来存放轮播图片的信息,
然后通过document.getelementbyid()来获取隐藏域的值,再放到img2=new Image ();img2.src='images/yangzhi/p2.jpg'中替换'images/yangzhi/p2.jpg',但我尝试以后发现这样不行,为什么不行呢?还有只要我在
var widths=470; //图片宽
var heights=300;//高
var counts=4;//图片数量
后面再声明一个变量,整个轮播图片就不能用了,这又是为什么呢?
如果用隐藏域的方法没法实现轮播图片从数据库里读取,那我该怎么办?
我要问的问题就是以上的那三个,请各位前辈指点!
首页轮播图片JS代码如下:
<script>
var widths=470; //图片宽
var heights=300;//高
var counts=4;//图片数量
img1=new Image ();img1.src='images/yangzhi/p1.jpg';//图片的位置
img2=new Image ();img2.src='images/yangzhi/p2.jpg';
img3=new Image ();img3.src='images/yangzhi/p3.jpg';
img4=new Image ();img4.src='images/yangzhi/p4.jpg';
url1=new Image ();url1.src='http://www.baidu.com';//图片链接地址
url2=new Image ();url2.src='http://www.baidu.com';
url3=new Image ();url3.src='http://www.baidu.com';
url4=new Image ();url4.src='http://www.baidu.com';
var nn=1;
var key=0;
function change_img()
{if(key==0){key=1;}
else if(document.all)
{document.getElementById("pic").filters[0].Apply();document.getElementById("pic").filters[0].Play(duration=2);}
eval('document.getElementById("pic").src=img'+nn+'.src');
eval('document.getElementById("url").href=url'+nn+'.src');
for (var i=1;i<=counts;i++){document.getElementById("xxjdjj"+i).className='axx';}
document.getElementById("xxjdjj"+nn).className='bxx';
nn++;if(nn>counts){nn=1;}
tt=setTimeout('change_img()',3000);} //图片过渡时间长度
function changeimg(n){nn=n;window.clearInterval(tt);change_img();}
document.write('<style>');
document.write('.axx{padding:1px 7px;border-left:#cccccc 1px solid;}');
document.write('a.axx:link,a.axx:visited{text-decoration:none;color:#fff;line-height:12px;font:9px sans-serif;background-color:#666;}');
document.write('a.axx:active,a.axx:hover{text-decoration:none;color:#fff;line-height:12px;font:9px sans-serif;background-color:#999;}');
document.write('.bxx{padding:1px 7px;border-left:#cccccc 1px solid;}');
document.write('a.bxx:link,a.bxx:visited{text-decoration:none;color:#fff;line-height:12px;font:9px sans-serif;background-color:#D34600;}');
document.write('a.bxx:active,a.bxx:hover{text-decoration:none;color:#fff;line-height:12px;font:9px sans-serif;background-color:#D34600;}');
document.write('</style>');
document.write('<div style="width:'+widths+'px;height:'+heights+'px;overflow:hidden;text-overflow:clip;">');
document.write('<div><a id="url"><img id="pic" style="border:0px;filter:progid:dximagetransform.microsoft.wipe(gradientsize=1.0,wipestyle=4, motion=forward)" width='+widths+' height='+heights+' /></a></div>');
document.write('<div style="filter:alpha(style=1,opacity=10,finishOpacity=80);background: #888888;width:100%-2px;text-align:right;top:-12px;position:relative;margin:1px;height:12px;padding:0px;margin:0px;border:0px;">');
for(var i=1;i<counts+1;i++){document.write('<a href="javascript:changeimg('+i+');" id="xxjdjj'+i+'" class="axx" target="_self">'+i+'</a>');}
document.write('</div></div>');
change_img();
</script>