2015-04-29 5 views
5

Ich bekomme weiterhin den folgenden Fehler, und ich bin nicht in der Lage, Dokumentation zu finden, was es bedeutet. Ich weiß, dass es eine strenge Javascript-Formatierung erfordert, und ich wollte es lösen, indem ich mich an die Formatierung halte.JSCS: Operator sollte folgenden Ausdruck halten

JSCS: Operator/sollte bei folgenden Ausdruck bleiben.

//Slow Scroll 
    if (window.addEventListener) window.addEventListener('DOMMouseScroll', wheel, false); 
    window.onmousewheel = document.onmousewheel = wheel; 

    function wheel(event) { 

     var delta = 0; 
     if (event.wheelDelta) delta = event.wheelDelta/120; 
     else if (event.detail) delta = -event.detail/3; 

     handle (delta); 
     if (event.preventDefault) event.preventDefault(); 
     event.returnValue = false; 

    } 

    function handle(delta) { 

     var time = 500, 
     distance = 300; 

     $('html, body').stop().animate(
      { 
      scrollTop: $(window).scrollTop() - (distance * delta) 
      }, 
     time); 

    } 

JSCS Einstellungsdatei

{ 
    "disallowCommaBeforeLineBreak": null, 
    "disallowDanglingUnderscores": true, 
    "disallowEmptyBlocks": true, 
    "disallowImplicitTypeConversion": [ "string" ], 
    "disallowKeywordsOnNewLine": [ "else" ], 
    "disallowKeywords": [ "with" ], 
    "disallowMixedSpacesAndTabs": true, 
    "disallowMultipleLineBreaks": true, 
    "disallowMultipleLineStrings": true, 
    "disallowMultipleVarDecl": null, 
    "disallowPaddingNewlinesInBlocks": null, 
    "disallowQuotedKeysInObjects": true, 
    "disallowSpaceAfterBinaryOperators": true, 
    "disallowSpaceAfterKeywords": [ "for", "while", "do", "switch" ], 
    "disallowSpaceAfterLineComment": true, 
    "disallowSpaceAfterObjectKeys": null, 
    "disallowSpaceAfterPrefixUnaryOperators": true, 
    "disallowSpaceBeforeBinaryOperators": null, 
    "disallowSpaceBeforeBlockStatements": null, 
    "disallowSpaceBeforePostfixUnaryOperators": true, 
    "disallowSpacesInAnonymousFunctionExpression": { 
     "beforeOpeningCurlyBrace": true 
    }, 
    "disallowSpacesInConditionalExpression": null, 
    "disallowSpacesInFunctionDeclaration": null, 
    "disallowSpacesInFunctionExpression": { 
     "beforeOpeningRoundBrace": true 
    }, 
    "disallowSpacesInNamedFunctionExpression": null, 
    "disallowSpacesInsideArrayBrackets": null, 
    "disallowSpacesInsideObjectBrackets": null, 
    "disallowSpacesInsideParentheses": null, 
    "disallowTrailingComma": null, 
    "disallowTrailingWhitespace": true, 
    "disallowYodaConditions": true, 
    "maximumLineLength": 120, 
    "requireAlignedObjectValues": "skipWithFunction", 
    "requireBlocksOnNewline": true, 
    "requireCamelCaseOrUpperCaseIdentifiers": "ignoreProperties", 
    "requireCapitalizedConstructors": true, 
    "requireCommaBeforeLineBreak": true, 
    "requireCurlyBraces": [ "if", "else", "for", "while", "do", "try", "catch" ], 
    "requireDotNotation": true, 
    "requireKeywordsOnNewLine": null, 
    "requireLineFeedAtFileEnd": true, 
    "requireMultipleVarDecl": true, 
    "requireOperatorBeforeLineBreak": true, 
    "requirePaddingNewlinesInBlocks": true, 
    "requireParenthesesAroundIIFE": true, 
    "requireSpaceAfterBinaryOperators": null, 
    "requireSpaceAfterKeywords": [ "if", "else", "return", "try", "catch" ], 
    "requireSpaceAfterLineComment": null, 
    "requireSpaceAfterObjectKeys": true, 
    "requireSpaceAfterPrefixUnaryOperators": null, 
    "requireSpaceBeforeBinaryOperators": true, 
    "requireSpaceBeforeBlockStatements": true, 
    "requireSpaceBeforePostfixUnaryOperators": null, 
    "requireSpacesInAnonymousFunctionExpression": { 
     "beforeOpeningRoundBrace": true 
    }, 
    "requireSpacesInConditionalExpression": true, 
    "requireSpacesInFunctionDeclaration": { 
     "beforeOpeningRoundBrace": true, 
     "beforeOpeningCurlyBrace": true 
    }, 
    "requireSpacesInFunctionExpression": { 
     "beforeOpeningCurlyBrace": true 
    }, 
    "requireSpacesInNamedFunctionExpression": { 
     "beforeOpeningRoundBrace": true, 
     "beforeOpeningCurlyBrace": true 
    }, 
    "requireSpacesInsideArrayBrackets": "all", 
    "requireSpacesInsideObjectBrackets": "allButNested", 
    "requireSpacesInsideParentheses": "all", 
    "requireTrailingComma": true, 
    "safeContextKeyword": true, 
    "validateIndentation": 4, 
    "validateJSDoc": { 
     "checkParamNames": true, 
     "requireParamTypes": true 
    }, 
    "validateLineBreaks": "LF", 
    "validateQuoteMarks": true 
} 
+0

Wie neu ist die Version von JSCS, die Sie verwenden? Auf ihrer Github-Seite sieht es so aus, als ob diese Regeln lange (ein Jahr) nicht mehr gelten. – Pointy

+0

Ich bin mir nicht sicher. Ich verwende Web Essentials 2013 mit Visual Studio 2013 Premium. – JosephMCasey

+1

Nun, die neueste Version von JSCS kam gestern heraus :) Ich habe keine Ahnung, wie Sie das in Ihrer Editorumgebung leider aktualisieren. – Pointy

Antwort

10

von der Regel zu halten, müssen Sie nur event.wheelDelta/120 und die folgende Zeile neu zu schreiben, so dass die / klebt an den folgenden Ausdruck: event.wheelDelta /120.

if (event.wheelDelta) delta = event.wheelDelta /120; 
    else if (event.detail) delta = -event.detail /3; 

Die disallowSpaceAfterBinaryOperators: true Zeile verursacht dies. Sie können die Dokumente hier sehen: disallowSpaceAfterBinaryOperators.

+0

Danke! Weißt du, ob es einen Grund für diese Regel gibt? Einige der Regeln scheinen ziemlich unbeständig zu sein. – JosephMCasey

+1

Im Kern ist JSCS für die Durchsetzung des Style Guide Ihres Projekts. Dieser Style Guide wird von Ihnen definiert, um Ihren Code sauber, konsistent und lesbar zu halten. Zwar gibt es viele [Voreinstellungen] (http://jscs.info/overview.html#presets), die Sie verwenden können, es läuft jedoch auf das hinaus, was Sie und Ihr Team für möglich halten/denkt, dass es am besten für Ihre Code-Basis funktioniert. Daher kann ich Ihnen nicht wirklich sagen, warum Ihr Projekt/Web Essentials diese spezielle Regel aktiviert hat (außer dass sie es anscheinend für die beste Stilwahl halten). Sie könnten diese Informationen irgendwo in ihren Dokumenten haben, aber ich konnte sie nicht auf einen kurzen Blick finden. –

+0

Danke Nick. Ich bin mir sicher, dass die Standardeinstellungen nicht aus irgendeinem wichtigen Grund ausgewählt wurden. – JosephMCasey

Verwandte Themen