新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     >>W3CHINA.ORG讨论区<<     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论XSL,XSLT,XSL-FO,CSS等技术
    [返回] W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWLXML.ORG.CN讨论区 - XML技术『 XSL/XSLT/XSL-FO/CSS 』 → xsl中js的引用问题 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 4225 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: xsl中js的引用问题 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     lsjliloveyou 美女呀,离线,快来找我吧!白羊座1982-3-27
      
      
      等级:大一(猛啃高等数学)
      文章:9
      积分:115
      门派:XML.ORG.CN
      注册:2006/9/28

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lsjliloveyou发送一个短消息 把lsjliloveyou加入好友 查看lsjliloveyou的个人资料 搜索lsjliloveyou在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lsjliloveyou的博客楼主
    发贴心情 xsl中js的引用问题

    我在xsl文件中引用js文件,是这样引用的。<script language="JavaScript" type="text/JavaScript" src="../js/popcalendar.js"></script>
    但是调用js中的函数是总是提示该对象不存在。而且我以前在其他html页面中引用这个js文件是可以的。是什么原因。


    我的xsl片断如下:
    <?xml version="1.0" encoding="GB18030"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <xsl:template match="/root">
    <html >
    <head>
    <meta http-equiv="content-type" content="text/html;charset=gb18030" />
    <meta name="generator" content="Adobe GoLive" />
    <META   HTTP-EQUIV="Cache-Control"   CONTENT="no-cache"/>
    <title></title>
    <link href="../css/rwx.css" rel="stylesheet" type="text/css" media="all" />
    <script language="JavaScript" type="text/JavaScript" src="../js/popcalendar.js"></script>
    </head>
    <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onLoad="fPopCalendar('592','136');">
    </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>

    js文件popcalendar.js如下:
    var goSelectTag = new Array();
    var gcGray = "#C0C0C0";
    var gcToggle = "#FFFCD1";
    var gcred = "#FF0000";
    var gcBG = "#FFFFFF";
    var gcGreen = "#00FF00"

    var gdCurDate = new Date();
    var giYear = gdCurDate.getFullYear();
    var giMonth = gdCurDate.getMonth()+1;
    var giDay = gdCurDate.getDate();

    function fPopCalendar(x,y){
      event.cancelBubble=true;
      
      fSetYearMon(giYear, giMonth);
      
      with (VicPopCal.style) {
       left = x;
     top  = y;
     width = VicPopCal.offsetWidth;
     height = VicPopCal.offsetHeight;
     fToggleTags();
     visibility = 'visible';
      }
      VicPopCal.focus();
    }


    function fHideCalendar(){
      VicPopCal.style.visibility = "hidden";
      for (i in goSelectTag)                                        //在数组中循环取值,goSelectTag为数组名
       goSelectTag[i].style.visibility = "visible";
      goSelectTag.length = 0;
    }

    function fSetSelected(aCell){
      var time = document.getElementById(time);
      var iOffset = 0;
      var iYear =parseInt(tbSelYear.value);//动态改变文本框的年
      var iMonth = parseInt(tbSelMonth.value);//动态改变文本框的月

      aCell.bgColor = gcBG;
      with (aCell.children["cellText"]){
       var iDay = parseInt(innerText);
       if (color==gcGray)
      iOffset = (Victor<10)?-1:1;
     iMonth += iOffset;
     if (iMonth<1) {
      iYear--;
      iMonth = 12;
     }else if (iMonth>12){
      iYear++;
      iMonth = 1;
     }
      }
      time.innerText = iYear年 iMonth月 iDay日;
    }

    function Point(iX, iY){
     this.x = iX;
     this.y = iY;
    }

    function showLogList(acell){
     fHideCalendar();
     layer3.style.visibility = "visible";
     fSetSelected(acell);

    }

    function fBuildCal(iYear, iMonth) {
      var aMonth=new Array();
      for(i=1;i<7;i++)
       aMonth[i]=new Array(i);

      var dCalDate=new Date(iYear, iMonth-1, 1);
      var iDayOfFirst=dCalDate.getDay();
      var iDaysInMonth=new Date(iYear, iMonth, 0).getDate();
      var iOffsetLast=new Date(iYear, iMonth-1, 0).getDate()-iDayOfFirst+1;
      var iDate = 1;
      var iNext = 1;

      for (d = 0; d < 7; d++)
     aMonth[1][d] = (d<iDayOfFirst)?-(iOffsetLast+d):iDate++;
      for (w = 2; w < 7; w++)
       for (d = 0; d < 7; d++)
      aMonth[w][d] = (iDate<=iDaysInMonth)?iDate++:-(iNext++);
      return aMonth;
    }

    function fDrawCal(iYear, iMonth, iCellHeight, iDateTextSize) {
      var WeekDay = new Array("日","一","二","三","四","五","六");
      var styleTD = " bgcolor='"+gcBG+"' bordercolor='"+gcBG+"' valign='middle' align='center' height='"+iCellHeight+"' style='font-size:9pt "+iDateTextSize+" 宋体;";

      with (document) {
     write("<tr>");
     for(i=0; i<7; i++)
      write("<td "+styleTD+"color:2B2B2B'>" + WeekDay[i] + "</td>");
     write("</tr>");

       for (w = 1; w < 7; w++) {
      write("<tr>");
      for (d = 0; d < 7; d++) {
       write("<td id=calCell "+styleTD+"cursor:hand;' onMouseOver='this.bgColor=gcToggle' onMouseOut='this.bgColor=gcBG' onclick='showLogList(this)'>");
       write("<font id=cellText Victor='Liming Weng'> </font>");
       write("</td>")
      }
      write("</tr>");
     }
      }
    }

    function fUpdateCal(iYear, iMonth) {
      myMonth = fBuildCal(iYear, iMonth);
      var i = 0;
      for (w = 0; w < 6; w++)
     for (d = 0; d < 7; d++)
      with (cellText[(7*w)+d]) {
       Victor = i++;
       if (myMonth[w+1][d]<0) {
        color = gcGray;
        innerText = -myMonth[w+1][d];
       }else{
        color = ((d==0)||(d==6))?"red":"black";
        innerText = myMonth[w+1][d];
       }
      }
    }
    //该函数动态改变年后引起表格中的变化
    function fSetYearMon(iYear, iMon){
      tbSelMonth.options[iMon-1].selected = true;
      for (i = 0; i < tbSelYear.length; i++)
     if (tbSelYear.options[i].value == iYear)
      tbSelYear.options[i].selected = true;
      fUpdateCal(iYear, iMon);//将改变厚的值传给fUpdateCal()以便以在表格中显示变化
    }

    function fPrevMonth(){
      var iMon = tbSelMonth.value;
      var iYear = tbSelYear.value;

      if (--iMon<1) {
       iMon = 12;
       iYear--;
      }

      fSetYearMon(iYear, iMon);
    }

    function fNextMonth(){
      var iMon = tbSelMonth.value;
      var iYear = tbSelYear.value;

      if (++iMon>12) {
       iMon = 1;
       iYear++;
      }

      fSetYearMon(iYear, iMon);
    }

    function fToggleTags(){
      with (document.all.tags("SELECT")){
     for (i=0; i<length; i++)
      if ((item(i).Victor!="Won")&&fTagInBound(item(i))){
       item(i).style.visibility = "hidden";
       goSelectTag[goSelectTag.length] = item(i);
      }
      }
    }

    function fTagInBound(aTag){
      with (VicPopCal.style){
       var l = parseInt(left);
       var t = parseInt(top);
       var r = l+parseInt(width);
       var b = t+parseInt(height);
     var ptLT = fGetXY(aTag);
     return !((ptLT.x>r)||(ptLT.x+aTag.offsetWidth<l)||(ptLT.y>b)||(ptLT.y+aTag.offsetHeight<t));
      }
    }

    function fGetXY(aTag){
      var oTmp = aTag;
      var pt = new Point(0,0);
      do {
       pt.x += oTmp.offsetLeft;
       pt.y += oTmp.offsetTop;
     
       oTmp = oTmp.offsetParent;
      } while(oTmp.tagName!="BODY");
      alert(pt.x);
      alert(pt.y);
      return pt;
    }
    function fClearInput()
    {
     
       fHideCalendar();
    }

    var gMonths = new Array("&nbsp;一月","&nbsp;二月","&nbsp;三月","&nbsp;四月","&nbsp;五月","&nbsp;六月","&nbsp;七月","&nbsp;八月","&nbsp;九月","&nbsp;十月","十一月","十二月");
    with (document) {
    write("<Div id='VicPopCal' onclick='event.cancelBubble=true' style='POSITION:absolute;visibility:hidden; ridge;width:10;z-index:100;'>");
    write("<table border='0' bgcolor='#FFFFFF'>");
    write("<TR>");
    write("<td valign='middle' align='center'><input type='button' name='PrevMonth' value='<' style='height:20;width:20' onClick='fPrevMonth()'>");
    write("&nbsp;<SELECT name='tbSelYear' onChange='fUpdateCal(tbSelYear.value, tbSelMonth.value)' style='font-color:#000080;width:70;border:1 solid #99CCFF; font-size:9pt; background-color:#FFF' Victor='Won'>");
    for(i=1900;i<=2050;i++)
     write("<OPTION value='"+i+"'>"+i+"年</OPTION>");
    write("</SELECT>");
    write("&nbsp;<select name='tbSelMonth' onChange='fUpdateCal(tbSelYear.value, tbSelMonth.value)'  style='font-color:#000080;width:70;border:0 solid #99CCFF; font-size:9pt; background-color:#FFF' Victor='Won'>");
    for (i=0; i<12; i++)
     write("<option value='"+(i+1)+"'>"+gMonths[i]+"</option>");
    write("</SELECT>");
    write("&nbsp;<input type='button' name='PrevMonth' value='>' style='height:20;width:20' onclick='fNextMonth()'>");
    write("</td>");

    write("</TR><TR>");
    write("<td align='center'>");
    write("<DIV style='background-color:#858585'><table border='0' cellspacing='0' cellpadding='0' width='100%' bgcolor='#858585'><tr><td><table border='0' cellspacing='0' width='100%' cellpadding='1'>");
    fDrawCal(giYear, giMonth, 12, 12);
    write("</table></td></tr></table></DIV>");
    write("</td>");
    write("</TR><TR><TD align='center'>");
    write("</TD></TR>");
    write("</TABLE></Div>");

    }


    function iniTime()
    {
     
     addAll(s1,23);
     addAll(s2,59);
     addAll(s3,59);
     d = new Date();
     s1.selectedIndex=d.getHours();
     s2.selectedIndex=d.getMinutes();
     s3.selectedIndex=d.getSeconds();
     window.setInterval('text1.innerText=getMyTime();','1000');
     settime();
    }
    function getobj(obj)
    {
     for(i=1;i<obj.document.all.length;i++)
     {
      if(obj==obj.document.all(i))
      {
       return(obj.document.all(i-1))
      }
     }
    }
    function settime()
    {
     text2.value=s1.value+':'+s2.value+':'+s3.value;
    }
    function rtn(obj)

     var r=new String('');
     
     r=r.replace(/(^[\s]*)|([\s]*$)/g, '');
          
     fHideCalendar();
     
    }

    function getMyTime(){
       var d, s = '';
       var c = ':';
       d = new Date();
       s += d.getHours() + c;
       s += d.getMinutes() + c;
       s += d.getSeconds();
       return(s)  ;
    }
    function addAll(obj,n)
    {
     var ooo=document.createElement('<OPTION>');
     obj.length=0;
     for(i=0;i<=n;i++)
     { 
       add(obj,i,i);
     }
    }
    function add(obj,v,t)
    {
     var ooo=document.createElement('<OPTION>');
      ooo.value=v;
      ooo.text=t;  
      obj.add(ooo);
    }


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/4/6 16:42:00
     
     GoogleAdSense白羊座1982-3-27
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/12/11 0:16:43

    本主题贴数1,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    60.974ms