第63行出错,我似乎无法调试。

时间:2018-02-15 00:05:48

标签: vbscript

这是我的第63行:设置ipAddrFile = fso.OpenTextFile(fileName,Read,ASCII) 我也得到第51行的错误,但添加引号解决了我的问题..好吧,它摆脱了错误。我尝试用第63行做同样的事情,但无论如何我都会得到错误。我也在Windows 10和Windows Vista虚拟计算机上运行此程序。

这是我正在尝试调试的脚本:

$(document).ready(function(){
$('.awesome-tooltip').tooltip({
    placement: 'left'
});   

$(window).bind('scroll',function(e){
  dotnavigation();
});

function dotnavigation(){

    var numSections = $('section').length;

    $('#side-nav li a').removeClass('active').parent('li').removeClass('active');     
    $('section').each(function(i,item){
      var ele = $(item), nextTop;

      console.log(ele.next().html());

      if (typeof ele.next().offset() != "undefined") {
        nextTop = ele.next().offset().top;
      }
      else {
        nextTop = $(document).height();
      }

      if (ele.offset() !== null) {
        thisTop = ele.offset().top - ((nextTop - ele.offset().top) / numSections);
      }
      else {
        thisTop = 0;
      }

      var docTop = $(document).scrollTop();

      if(docTop >= thisTop && (docTop < nextTop)){
        $('#side-nav li').eq(i).addClass('active');
      }
    });   
}

/* get clicks working */
$('#side-nav li').click(function(){

    var id = $(this).find('a').attr("href"),
      posi,
      ele,
      padding = 0;

    ele = $(id);
    posi = ($(ele).offset()||0).top - padding;

    $('html, body').animate({scrollTop:posi}, 'slow');

    return false;
});

1 个答案:

答案 0 :(得分:1)

VBScript至少由两个人设计。天才,他定义了正确命名的函数CreateTextFile()OpenTextFile()和 它们用于制作标准任务的默认参数 - 创建ASCII文件,从ASCII文件读取 - 简单:

Option Explicit

Const csFSpec = "48798232.txt"

Dim oFS : Set oFS = CreateObject("Scripting.FileSystemObject")
Dim sD  : sD      = "could be an array, but is just a string for show: " & Now() 
' using *Create*TextFile + defaults to always create an ASCII File
Dim tsW : Set tsW = oFS.CreateTextFile(csFSPEC)
tsW.WriteLine sD
tsW.Close
' using OpenTextile + defaults to read from an ASCII File
' no need for a variable or .Close
WScript.Echo oFS.OpenTextFile(csFSPEC).ReadAll()

输出:

cscript 48798232.vbs
could be an array, but is just a string for show: 15.02.2018 04:45:06

然后是居住的白痴,并以任意顺序搞砸OpenTextFile()许多可选参数,使其可用于文件创建。从那时起,人们混淆了这些功能及其参数列表。

Code 1: Set ipAddrFile = fso.CreateTextFile("fileName,ForWriting,ASCII")
Create: object.CreateTextFile(filename[, overwrite[, unicode]])
Open: object.OpenTextFile(filename[, iomode[, create[, format]]])
Code 2: Set ipAddrFile = fso.OpenTextFile(fileName,Read,ASCII)

从不确定参数,数据类型或顺序,它们使用绝望的方法,例如引用(错误的)参数列表。

所以:仔细检查文档(例如,要注意布尔ForWriting与同名的数字iomode之间的区别(显然是&lt; - 工作中的白痴),并使用默认值来处理简单/标准任务。