相同的代码在不同的IDE中不起作用-html,css

侯赛因·奥默尔

所以我有以下代码:

document.addEventListener("DOMContentLoaded", function(event) { 

// Get a reference to the <path>
var path = document.querySelector('#star-path');

// Get length of path... ~577px in this case
var pathLength = path.getTotalLength();

// Make very long dashes (the length of the path itself)
path.style.strokeDasharray = pathLength + ' ' + pathLength;

// Offset the dashes so the it appears hidden entirely
path.style.strokeDashoffset = pathLength;

// Jake Archibald says so
// https://jakearchibald.com/2013/animated-line-drawing-svg/
path.getBoundingClientRect();

// When the page scrolls...
window.addEventListener("scroll", function(e) {
 
  // What % down is it? 
  // https://stackoverflow.com/questions/2387136/cross-browser-method-to-determine-vertical-scroll-percentage-in-javascript/2387222#2387222
  // Had to try three or four differnet methods here. Kind of a cross-browser nightmare.
  var scrollPercentage = (document.documentElement.scrollTop + document.body.scrollTop) / (document.documentElement.scrollHeight - document.documentElement.clientHeight);
    
  // Length to offset the dashes
  var drawLength = pathLength * scrollPercentage;
  
  // Draw in reverse
  path.style.strokeDashoffset = pathLength - drawLength;
    
  // When complete, remove the dash array, otherwise shape isn't quite sharp
 // Accounts for fuzzy math
  if (scrollPercentage >= 0.99) {
    path.style.strokeDasharray = "none";
    path.style.fill = "#47AF9A";
    
  } else {
  path.style.fill = "none";
    path.style.strokeDasharray = pathLength + ' ' + pathLength;
  }
  
});
});
body {
  /* feel free to change height */
  height: 5000px;
  background: linear-gradient(
    to bottom,
    orange,
    darkblue
  );
}

h1 {
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; 
  font-weight: 300;
  color: white;
  text-transform: uppercase;
  text-align: center;
  font-size: 22px;
  letter-spacing: 5px;
  font-weight: 100;
  padding: 25px 15px;
  text-shadow: 1px 1px 1px #333;
}

#star-svg {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 150px;
  height: 150px;
  margin: -75px 0 0 -75px;
}



Resources
<header>
  
    <link href="style.css" rel="stylesheet"/>
  <script src="script.js"></script>
</header>
  
  <body>
  <h1>Scroll-to-draw</h1>

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200.6" id="star-svg">
  <path fill="none" stroke="white" stroke-width="2" id="star-path" d="M45.33 78.22L87.67 78.22L87.67 133L121.05 133L121.05 0L87.67 0L87.67 49.33L45.33 49.33L45.33 0L11.95 0L11.95 133L45.33 133L45.33 78.22Z"></svg>
  </body>

这段代码在这里可以很好地工作,但是不能在我正在使用的IDE上工作,就像滚动时一样,我没有画线,而只是显示了整体输出,即H字母。你们可以在这里看看吗:https : //repl.it/join/xfuwhnru-hussainomer

PS:您可能需要直接注册一个帐户,repl.it但是请您看看,它会非常有用,我非常感谢。我能想到的问题是我在那儿的代码中缺少一个引用,它在这里起作用是因为StackOverFlow创建了一个引用,但并不是每个IDE都这样做。有什么建议么?

一定的表现

您的HTML格式不正确:

查看源代码:https : //fixedstingytriangle--hussainomer.repl.co/

它是以下内容,并且以下内容:

<header>
  
    <link href="style.css" rel="stylesheet"/>
  <script src="script.js"></script>
</header>
  
  <body>
  <h1>Scroll-to-draw</h1>

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200.6" id="star-svg">
  <path fill="none" stroke="white" stroke-width="2" id="star-path" d="M45.33 78.22L87.67 78.22L87.67 133L121.05 133L121.05 0L87.67 0L87.67 49.33L45.33 49.33L45.33 0L11.95 0L11.95 133L45.33 133L45.33 78.22Z"></svg>
  </body>
  • 您没有DOCTYPE
  • 您没有<html>标签
  • 您有一个<header>,但a<header>是一个可见元素,只能在内<body>您可能打算<head>代替使用

解决这些问题,代码将按预期工作:

<!DOCTYPE html>
<html>
<head>
<link href="style.css" rel="stylesheet"/>
... etc
</head>
<body>
... etc

这里最重要的是显式指定doctype。没有它

浏览器进入Quirks模式,并尝试像处理90年代末一样处理您的代码。这意味着他们将模仿旧浏览器中存在的许多错误。这样做的方法不一致(因此,您将获得截然不同的结果,例如,从Firefox到Internet Explorer)。

DOCTYPE的目的是告诉浏览器您正在编写哪种类型的HTML。忽略DOCTYPE是无效的。没有“标准”格式。浏览器将尽可能地尝试解析HTML。但并非所有元素都会正确显示。DOCTYPE是所有HTML文档的必需部分。

这会引起问题,因为document.documentElement.clientHeight将会被评估为整个页面的高度,而不是视口的高度(结果是被0除并立即出现整个H)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

HTML 5 Canvas在我的项目中不起作用,但是相同的代码在JSFiddle中起作用吗?

来自分类Dev

为什么Bootstrap列在这个小的HTML / CSS代码段中不起作用?

来自分类Dev

为什么“脚本”中的代码在 html 中不起作用?

来自分类Dev

CSS代码在Firefox和IE中不起作用

来自分类Dev

jQuery CSS代码在浏览器中不起作用

来自分类Dev

CSS悬停在此代码中不起作用

来自分类Dev

HTML代码在OpenCart运送方法标签中不起作用

来自分类Dev

Javascript代码在html下拉选项元素中不起作用

来自分类Dev

htaccess中的AddType后html代码不起作用

来自分类Dev

CSS 命令在 CSS 文件中不起作用,但在主 HTML 中起作用

来自分类Dev

文字装饰不起作用?在html / css中

来自分类Dev

HTML CSS相对位置在gmail中不起作用

来自分类Dev

标签在HTML CSS Javascript中不起作用

来自分类Dev

外部 CSS 在 Python 项目中的 HTML 中不起作用

来自分类Dev

CSS宽度与高度相同不起作用

来自分类Dev

HTML / CSS-链接不起作用

来自分类Dev

HTML到CSS的链接不起作用

来自分类Dev

HTML / CSS分页符不起作用

来自分类Dev

CSS / HTML图像交换不起作用

来自分类Dev

<section>的HTML / CSS填充不起作用

来自分类Dev

HTML / CSS样式标签不起作用

来自分类Dev

HTML CSS 悬停不起作用

来自分类Dev

HTML / CSS - (浮动:左)不起作用

来自分类Dev

CSS HTML 类不起作用

来自分类Dev

CSS:not伪代码不起作用

来自分类Dev

CSS代码a:visited不起作用

来自分类Dev

Atom HTML代码段不起作用

来自分类Dev

超链接在与JS代码连接的HTML代码中不起作用

来自分类Dev

为什么我的CSS代码对我的HTML页眉和页脚不起作用?

Related 相关文章

热门标签

归档