在alert的情况下,因为alert的时候阻止了程序往下执行,等你把alert点确定的时候,oneeror方法已经执行完获取到了服务器的地址,path的值变为了服务器路径。
如果你不alert,因为异步(到后台获取),还没来得及获取到,path已经被return出去了,所以还是本地地址。
var i_strngth = 1;
var i_image = 0;
var imageurl = new Array();
// 这一部分我是手功指定的路径,你的路径是放在数据库中的,只用在这里做更改,把路径的设置改成动态读取就可以了
//======================================
imageurl[0] ="images/pic1gif";
imageurl[1] ="images/pic2gif";
imageurl[2] ="images/pic3gif";
imageurl[3] ="images/pic4gif";
//======================================
function showimage()
{
if(documentall)
{
if (i_strngth <= 110)
{
div_PicinnerHTML = "<img style=\"filter:alpha(opacity='" + i_strngth + "'); height:248px; width:138px;\" src='" + imageurl[i_image] + "' border='0' />";
i_strngth = i_strngth + 10;
var timer=setTimeout("showimage()", 100);
}
else
{
clearTimeout(timer);
var timer = setTimeout("hideimage()", 1000);
}
}
if(documentlayers)
{
clearTimeout(timer)
documentdiv_Picdocumentwrite("<img src='" + imageurl[i_image] + "' border='0' style='height:248px; width:138px;' />");
documentclose();
i_image++;
if (i_image >= imageurllength)
{
i_image = 0;
}
var timer = setTimeout("showimage()", 2000);
}
}
function hideimage()
{
if (i_strngth >= -10)
{
div_PicinnerHTML = "<img style=\"filter:alpha(opacity='" + i_strngth + "'); height:248px; width:138px;\" src='" + imageurl[i_image] + "' border='0' />";
i_strngth = i_strngth - 10;
var timer = setTimeout("hideimage()", 100);
}
else
{
clearTimeout(timer)
i_image++;
if (i_image >= imageurllength)
{
i_image = 0;
}
i_strngth = 1;
var timer=setTimeout("showimage()", 500);
}
}
那就需要用到Ajax技术,你是用时间来做为名称,那么可以用程序取出文件名然后选取离系统当前时间最近的一个文件做为当前显示的,然后回传达到JS来进行路径的更改显示
首先从数据库获取信息到前端,接收数据要用store,你把的路径写入数据库中,然后通过store去load数据到前端。
然后要看你要怎么展示,在哪显示了!
例如使用ExtXTemplate,自己去写显示的位置,样式等。可以去参考ext30文档中ExtDataView的例子
var store = new ExtdataJsonStore( {
fields : [ "id", "name", "path" ],
url: '',
});
storeload();
var tpl = new ExtXTemplate('<div class="aaa"><img src="{path}" title="{name}" /></div>',);
var dataview = new ExtDataView( {
store: store,
tpl: tpl,
});
var panel = new ExtPanel({
items:dataview
)}
还可以使用textfield,这就要自己完成整个panel或window的布局了
例如:
{
columnWidth : 5,
layout : 'form',
labelWidth : 60,
items : [{
xtype : 'textfield',
fieldLabel : '个人照片',
width : 150,
Height : 180,
inputType : 'image',
listeners : { // 该项被载入时加载照片
'render' : function(_filed) {
_filedgetEl()domsrc = "ajpg";//这里的路径可以预先从store中读取,赋给变量然后给它
}
}
}]
}
如果是在grid里显示,那么grid中的ColumnModel里可以有一个字段是路径,然后通过store传入该路径并显示
例如:
var sm = new ExtgridCheckboxSelectionModel();
var cm = new ExtgridColumnModel([new ExtgridRowNumberer(), sm,
{
header : "",
width : 40,
dataIndex : "path",
align : "center",
renderer : function(v) {
return "<img src='" + v +"'>"
}
},
还有很多跟有关的地方,我暂时也想不起来,看具体情况具体解决了,总之后台对应的是数据库,前台对应的是store,前后交互就是把后台的数据放store里,然后前台根据store做前台该做的事
<FORM method="POST" enctype="multipart/form-data" action="" name="form1">
:<img src="" ID="DoImgName1" width="300" height="200"><br>
选择:<INPUT type="file" name="ImgFile1" size="38" OnPropertyChange="dochange1();" value="">
</FORM>
<script language="javascript">
function dochange1() {
var thissrc;
thissrc=thisform1ImgFile1value;
strs=thissrctoLowerCase();
lens=strslength;
extname=strssubstring(lens-4,lens);
if(extname=="jpg" || extname=="gif" || extname=="swf"){
documentallDoImgName1src=thissrc;
}
}
</script>
以上就是关于js判断图片路径全部的内容,包括:js判断图片路径、javascript中怎样读取指定文件夹里的图片、ext怎么从数据库中取得图片路径,然后在js上显示出图片呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)