在include文件(xx.inc)中有如下代码xx.inc,php文件中调用的函数是ocx14_disp
if($flickfg == "True")
MimicLamptenmetu_ON($lmpbmp,$lmpflk,$filter,$ocxtop , $ocxleft,$ocxheight, $ocxwidth);
是我今天加的,是为了让图片能交替显示,如果注释这2句,图片可以正常显示,但是肯定没有交替显示的图片
增加这2句,以及以下的2个函数后,提示setTimeout没有被定义,
不知道是否这个函数只能在js文件中或者php文件中使用呢?还是我没有引用莫个文件?
请告诉我把,呵呵
function ocx14_disp($ocxtype, $ocxid, $max_tid)
{ db_ocx_get($ocxtype, $ocxid, $ocx14, 1);
$status = 0;
if($ocx14["tagseqno"] == NULL || $ocx14["tagseqno"] < 0 ){
$pump_no = 1;
} else {
$seqno = $ocx14["tagseqno"];
chid_data_get($seqno, $max_tid, $data_ch, $status);
$pump_no = $data_ch + 1;
} $lmpbmp_name ="lmpbmp" . $pump_no;
$lmpflk_name ="lmpflk" . $pump_no;
if($ocx14["pene"] == 't'){
$filter = "filter:chroma(color=" . bgr10_rgb( $ocx14['peneclr'] ) . ");";
} else {
$filter = "";
}
chno__get($status,$,$flickfg); $lmpbmp = $ocx14[$lmpbmp_name];
$lmpflk = $ocx14[$lmpflk_name];
$ocxtop = $ocx14["ocxtop"];
$ocxleft = $ocx14["ocxleft"];
$ocxheight = $ocx14["ocxheight"];
$ocxwidth = $ocx14["ocxwidth"]; printf("<img class='mimic_pump' src='../png/parts/%s' style = 'position:absolute; z-index:2;
%s top:%spx;left:%spx;height:%spx;width:%spx;'>\n",
$ocx14[$lmpbmp_name], $filter, $ocx14["ocxtop"] , $ocx14["ocxleft"],
$ocx14["ocxheight"], $ocx14["ocxwidth"] );
//以下的2句是我新增加的,为了不耽误你多余的时间,这里以上的代码都没有问题
if($flickfg == "True")//如果图片需要交替
MimicLamptenmetu_ON($lmpbmp,$lmpflk,$filter,$ocxtop , $ocxleft,$ocxheight, $ocxwidth);//明亮图片显示}//暗淡图片显示函数
function MimicLamptenmetu_OFF($lmpbmpON_name,$lmpbmpOFF_name,$filter,$ocxtop,$ocxleft,$ocxheight,$ocxwidth)
{
printf("<img class='mimic_pump' src='../png/parts/%s' style = 'position:absolute; z-index:2;
%s top:%spx;left:%spx;height:%spx;width:%spx;'>\n",
$lmpbmpOFF_name, $filter, $ocxtop , $ocxleft,
$ocxheight, $ocxwidth);
//延迟一秒后,明亮图片显示
setTimeout("MimicLamptenmetu_ON(" + $lmpbmpON_name + "," + $lmpbmpOFF_name + "," + $filter + "," + $ocxtop + "," + $ocxleft + "," + $ocxheight + "," + $ocxwidth + ")",1000);
}//明亮图片显示
function MimicLamptenmetu_ON($lmpbmpON_name,$lmpbmpOFF_name,$filter,$ocxtop,$ocxleft,$ocxheight,$ocxwidth)
{
printf("<img class='mimic_pump' src='../png/parts/%s' style = 'position:absolute; z-index:2;
%s top:%spx;left:%spx;height:%spx;width:%spx;'>\n",
$lmpbmpON_name, $filter, $ocxtop , $ocxleft,
$ocxheight, $ocxwidth);
//延迟一秒后,暗淡图片显示
setTimeout("MimicLamptenmetu_OFF(" + $lmpbmpON_name + "," + $lmpbmpOFF_name + "," + $filter + "," + $ocxtop + "," + $ocxleft + "," + $ocxheight + "," + $ocxwidth + ")",1000);
}
if($flickfg == "True")
MimicLamptenmetu_ON($lmpbmp,$lmpflk,$filter,$ocxtop , $ocxleft,$ocxheight, $ocxwidth);
是我今天加的,是为了让图片能交替显示,如果注释这2句,图片可以正常显示,但是肯定没有交替显示的图片
增加这2句,以及以下的2个函数后,提示setTimeout没有被定义,
不知道是否这个函数只能在js文件中或者php文件中使用呢?还是我没有引用莫个文件?
请告诉我把,呵呵
function ocx14_disp($ocxtype, $ocxid, $max_tid)
{ db_ocx_get($ocxtype, $ocxid, $ocx14, 1);
$status = 0;
if($ocx14["tagseqno"] == NULL || $ocx14["tagseqno"] < 0 ){
$pump_no = 1;
} else {
$seqno = $ocx14["tagseqno"];
chid_data_get($seqno, $max_tid, $data_ch, $status);
$pump_no = $data_ch + 1;
} $lmpbmp_name ="lmpbmp" . $pump_no;
$lmpflk_name ="lmpflk" . $pump_no;
if($ocx14["pene"] == 't'){
$filter = "filter:chroma(color=" . bgr10_rgb( $ocx14['peneclr'] ) . ");";
} else {
$filter = "";
}
chno__get($status,$,$flickfg); $lmpbmp = $ocx14[$lmpbmp_name];
$lmpflk = $ocx14[$lmpflk_name];
$ocxtop = $ocx14["ocxtop"];
$ocxleft = $ocx14["ocxleft"];
$ocxheight = $ocx14["ocxheight"];
$ocxwidth = $ocx14["ocxwidth"]; printf("<img class='mimic_pump' src='../png/parts/%s' style = 'position:absolute; z-index:2;
%s top:%spx;left:%spx;height:%spx;width:%spx;'>\n",
$ocx14[$lmpbmp_name], $filter, $ocx14["ocxtop"] , $ocx14["ocxleft"],
$ocx14["ocxheight"], $ocx14["ocxwidth"] );
//以下的2句是我新增加的,为了不耽误你多余的时间,这里以上的代码都没有问题
if($flickfg == "True")//如果图片需要交替
MimicLamptenmetu_ON($lmpbmp,$lmpflk,$filter,$ocxtop , $ocxleft,$ocxheight, $ocxwidth);//明亮图片显示}//暗淡图片显示函数
function MimicLamptenmetu_OFF($lmpbmpON_name,$lmpbmpOFF_name,$filter,$ocxtop,$ocxleft,$ocxheight,$ocxwidth)
{
printf("<img class='mimic_pump' src='../png/parts/%s' style = 'position:absolute; z-index:2;
%s top:%spx;left:%spx;height:%spx;width:%spx;'>\n",
$lmpbmpOFF_name, $filter, $ocxtop , $ocxleft,
$ocxheight, $ocxwidth);
//延迟一秒后,明亮图片显示
setTimeout("MimicLamptenmetu_ON(" + $lmpbmpON_name + "," + $lmpbmpOFF_name + "," + $filter + "," + $ocxtop + "," + $ocxleft + "," + $ocxheight + "," + $ocxwidth + ")",1000);
}//明亮图片显示
function MimicLamptenmetu_ON($lmpbmpON_name,$lmpbmpOFF_name,$filter,$ocxtop,$ocxleft,$ocxheight,$ocxwidth)
{
printf("<img class='mimic_pump' src='../png/parts/%s' style = 'position:absolute; z-index:2;
%s top:%spx;left:%spx;height:%spx;width:%spx;'>\n",
$lmpbmpON_name, $filter, $ocxtop , $ocxleft,
$ocxheight, $ocxwidth);
//延迟一秒后,暗淡图片显示
setTimeout("MimicLamptenmetu_OFF(" + $lmpbmpON_name + "," + $lmpbmpOFF_name + "," + $filter + "," + $ocxtop + "," + $ocxleft + "," + $ocxheight + "," + $ocxwidth + ")",1000);
}
function MimicLamptenmetu_OFF($lmpbmpON_name,$lmpbmpOFF_name,$filter,$ocxtop,$ocxleft,$ocxheight,$ocxwidth)
{
printf("<img class='mimic_pump' src='../png/parts/%s' style = 'position:absolute; z-index:2;
%s top:%spx;left:%spx;height:%spx;width:%spx;'>\n",
$lmpbmpOFF_name, $filter, $ocxtop , $ocxleft,
$ocxheight, $ocxwidth);
//延迟一秒后,明亮图片显示
setTimeout("MimicLamptenmetu_ON(" + $lmpbmpON_name + "," + $lmpbmpOFF_name + "," + $filter + "," + $ocxtop + "," + $ocxleft + "," + $ocxheight + "," + $ocxwidth + ")",1000);
}//明亮图片显示
function MimicLamptenmetu_ON($lmpbmpON_name,$lmpbmpOFF_name,$filter,$ocxtop,$ocxleft,$ocxheight,$ocxwidth)
{
printf("<img class='mimic_pump' src='../png/parts/%s' style = 'position:absolute; z-index:2;
%s top:%spx;left:%spx;height:%spx;width:%spx;'>\n",
$lmpbmpON_name, $filter, $ocxtop , $ocxleft,
$ocxheight, $ocxwidth);
//延迟一秒后,暗淡图片显示
setTimeout("MimicLamptenmetu_OFF(" + $lmpbmpON_name + "," + $lmpbmpOFF_name + "," + $filter + "," + $ocxtop + "," + $ocxleft + "," + $ocxheight + "," + $ocxwidth + ")",1000);
}那么我再inc文件中应该怎么调用这个函数?
if($flickfg == "True")//如果图片需要交替
MimicLamptenmetu_ON($lmpbmp,$lmpflk,$filter,$ocxtop , $ocxleft,$ocxheight, $ocxwidth);//明亮图片显示
该怎么写呢?
echo '<script>setTimeout("MimicLamptenmetu_OFF(" +'. $lmpbmpON_name.' + "," +.' $lmpbmpOFF_name .'+"," +'. $filter.' + "," +'. $ocxtop.' + "," +'. $ocxleft.' + "," + '.$ocxheight + "," +'. $ocxwidth.' + ")",1000);</script>';//改成这样试试!
运行没有错误,就是没有效果<script>setTimeout("MimicLamptenmetu_OFF(" + ll-r1.png + "," + ll-w1.png + "," + + "," + 240 + "," + 184 + "," + 10 + "," +10 + ")",1000);</script>html原麻的样子现在代码的样子。inc文件中function ocx14_disp($ocxtype, $ocxid, $max_tid)
{ db_ocx_get($ocxtype, $ocxid, $ocx14, 1);
$status = 0; if($ocx14["tagseqno"] == NULL || $ocx14["tagseqno"] < 0 ){
$pump_no = 1;
} else {
$seqno = $ocx14["tagseqno"];
chid_data_get($seqno, $max_tid, $data_ch, $status);
$pump_no = $data_ch + 1;
} $lmpbmp_name ="lmpbmp" . $pump_no;
$lmpflk_name ="lmpflk" . $pump_no;
if($ocx14["pene"] == 't'){
$filter = "filter:chroma(color=" . bgr10_rgb( $ocx14['peneclr'] ) . ");";
} else {
$filter = "";
}
chno__get($status,$,$flickfg); $lmpbmp = $ocx14[$lmpbmp_name];
$lmpflk = $ocx14[$lmpflk_name];
$ocxtop = $ocx14["ocxtop"];
$ocxleft = $ocx14["ocxleft"];
$ocxheight = $ocx14["ocxheight"];
$ocxwidth = $ocx14["ocxwidth"];
printf("<img class='mimic_pump' src='../png/parts/%s' style = 'position:absolute; z-index:2;
%s top:%spx;left:%spx;height:%spx;width:%spx;'>\n",
$lmpbmp , $filter, $ocxtop , $ocxleft ,
$ocxheight , $ocxwidth );
if($flickfg == "True")
MimicLamptenmetu_ON($lmpbmp,$lmpflk,$filter,$ocxtop , $ocxleft,$ocxheight, $ocxwidth);}function MimicLamptenmetu_OFF($lmpbmpON_name,$lmpbmpOFF_name,$filter,$ocxtop,$ocxleft,$ocxheight,$ocxwidth)
{
printf("<img class='mimic_pump' src='../png/parts/%s' style = 'position:absolute; z-index:2;
%s top:%spx;left:%spx;height:%spx;width:%spx;'>\n",
$lmpbmpOFF_name, $filter, $ocxtop , $ocxleft,
$ocxheight, $ocxwidth); echo '<script>setTimeout("MimicLamptenmetu_ON(" +'. $lmpbmpON_name.' + "," +'. $lmpbmpOFF_name .'+"," +'. $filter.' + "," +'. $ocxtop.' + "," +'. $ocxleft.' + "," + '.$ocxheight. + "," +'. $ocxwidth.' + ")",1000);</script>';}
function MimicLamptenmetu_ON($lmpbmpON_name,$lmpbmpOFF_name,$filter,$ocxtop,$ocxleft,$ocxheight,$ocxwidth)
{
printf("<img class='mimic_pump' src='../png/parts/%s' style = 'position:absolute; z-index:2;
%s top:%spx;left:%spx;height:%spx;width:%spx;'>\n",
$lmpbmpON_name, $filter, $ocxtop , $ocxleft,
$ocxheight, $ocxwidth); echo '<script>setTimeout("MimicLamptenmetu_OFF(" +'. $lmpbmpON_name.' + "," +'. $lmpbmpOFF_name .'+"," +'. $filter.' + "," +'. $ocxtop.' + "," +'. $ocxleft.' + "," + '.$ocxheight. + "," +'. $ocxwidth.' + ")",1000);</script>';}
echo '<script>setTimeout("MimicLamptenmetu_OFF(" +'. $lmpbmpON_name.' + "," +'. $lmpbmpOFF_name .'+"," +'. $filter.' + "," +'. $ocxtop.' + "," +'. $ocxleft.' + "," + '.$ocxheight.'+ "," +'. $ocxwidth.' + ")",1000);</script>';点和分号都要加上,不好意思我的疏忽,啥什么我成大灰狼了。呵呵!
echo '<script>setTimeout("MimicLamptenmetu_ON(" +'. $lmpbmpON_name .' + "," +'. $lmpbmpOFF_name .'+"," +'. $filter.' + "," +'. $ocxtop.' + "," +'. $ocxleft.' + "," + '.$ocxheight. + "," +'. $ocxwidth.' + ")",1000);</script>;和你写的那里不是一样么? 点,分号都有。
功能就是要图片闪索的效果。mimic.php文件中包含了require("../include/func_ocx.inc");
mimic.php文件中包含了<script language="JavaScript" src="./mimic.js"></script>
mimic.php文件中也包含了调用下面函数的代码 此函数名字为 ocx14_disp
func_ocx.inc文件中的代码有以下片断
//图片表示函数
function ocx14_disp($ocxtype, $ocxid, $max_tid)
{
db_ocx_get($ocxtype, $ocxid, $ocx14, 1);
$status = 0;
if($ocx14["tagseqno"] == NULL || $ocx14["tagseqno"] < 0 ){
$pump_no = 1;
} else {
$seqno = $ocx14["tagseqno"];
chid_data_get($seqno, $max_tid, $data_ch, $status);
$pump_no = $data_ch + 1;
} $lmpbmp_name ="lmpbmp" . $pump_no;
$lmpflk_name ="lmpflk" . $pump_no;
if($ocx14["pene"] == 't'){
$filter = "filter:chroma(color=" . bgr10_rgb( $ocx14['peneclr'] ) . ");";
} else {
$filter = "";
}
chno__get($status,$,$flickfg); $lmpbmp = $ocx14[$lmpbmp_name];//明亮图片的文件名字
$lmpflk = $ocx14[$lmpflk_name];//暗淡图片的文件名
$ocxtop = $ocx14["ocxtop"];//坐标信息
$ocxleft = $ocx14["ocxleft"];
$ocxheight = $ocx14["ocxheight"];
$ocxwidth = $ocx14["ocxwidth"];
$ocxname = "ocx14_" . $ocxid; //将要显示的组建名字
//画像の表示
printf("<img class='mimic_pump' name='%s' src='../png/parts/%s' style = 'position:absolute; z-index:2;
%s top:%spx;left:%spx;height:%spx;width:%spx;'>\n",
$ocxname,$lmpbmp , $filter, $ocxtop , $ocxleft ,
$ocxheight , $ocxwidth );//以上的代码显示图片正常 if($flickfg == "True")//需要图片闪烁的标志
printf("<script>MimicLamptenmetu_ON($ocxname,$lmpbmp,$lmpflk);</script>\n")}
下面是mimic.js中的闪烁函数代码
//暗淡图片显示
function MimicLamptenmetu_OFF(ocxname,lmpbmpON_name,lmpbmpOFF_name)
{
document.ocxname.src='../png/parts/' + lmpbmpOFF_name; //这里的ocxname不知道怎么写
setTimeout("MimicLamptenmetu_ON(" + ocxname + "," + lmpbmpON_name + "," + lmpbmpOFF_name + ")",1000);
}//明亮图片显示
function MimicLamptenmetu_ON(ocxname,lmpbmpON_name,lmpbmpOFF_name)
document.ocxname.src='../png/parts/' + lmpbmpON_name; //这里的ocxname不知道怎么写
setTimeout("MimicLamptenmetu_OFF(" + ocxname + "," + lmpbmpON_name + "," + lmpbmpOFF_name + ")",1000);
}问题点是
1。mimic.js文件中的ocxname该怎么写?
2。这样写能否达到1000ms后换图片,也就是否能闪烁?
php:
if($flickfg == "True")//需要图片闪烁的标志
//调用函数记得将参数字符串值用引号引起
printf("<script>MimicLamptenmetu_ON('{$ocxname}','{$lmpbmp}','{$lmpflk}');</script>\n");
javascript//暗淡图片显示
function MimicLamptenmetu_OFF(ocxname,lmpbmpON_name,lmpbmpOFF_name)
{
//如果ocxname是id属性值,应该用document.getElementById(ocxname)读取节点对象,这样书写只适合ie
document.ocxname.src='../png/parts/' + lmpbmpOFF_name; //这里的ocxname不知道怎么写
//调用函数记得将参数字符串值用引号引起
setTimeout("MimicLamptenmetu_ON('" + ocxname + "','" + lmpbmpON_name + "','" + lmpbmpOFF_name + "')",1000);
}
//以下类似
//明亮图片显示
function MimicLamptenmetu_ON(ocxname,lmpbmpON_name,lmpbmpOFF_name)
document.ocxname.src='../png/parts/' + lmpbmpON_name; //这里的ocxname不知道怎么写
setTimeout("MimicLamptenmetu_OFF('" + ocxname + "','" + lmpbmpON_name + "','" + lmpbmpOFF_name + "')",1000);
}
printf("<img class='mimic_pump' name='%s' src='../png/parts/%s' style = 'position:absolute; z-index:2;
%s top:%spx;left:%spx;height:%spx;width:%spx;'>\n",
$ocxname,$lmpbmp , $filter, $ocxtop , $ocxleft ,
$ocxheight , $ocxwidth );这里的name 都是我加上的,以前都没有。是不是在这里把id加上就可以呢?
%s top:%spx;left:%spx;height:%spx;width:%spx;'>\n",
$ocxname ,$lmpbmp , $filter, $ocx14["ocxtop"] , $ocx14["ocxleft"] ,
$ocx14["ocxheight"] , $ocx14["ocxwidth"] );
这样这个document.getElementById 看起来就比较自然了。谢谢啦