Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在HTML中引用JS变量?_Javascript_Html_Animation_Svg_Inkscape - Fatal编程技术网

Javascript 如何在HTML中引用JS变量?

Javascript 如何在HTML中引用JS变量?,javascript,html,animation,svg,inkscape,Javascript,Html,Animation,Svg,Inkscape,我以前从未做过JS,现在我只是在学习CSS,但偶然发现了这个动画教程,并想尝试一下。 它无法通过:>之外的唯一工具,我无法运行ht。”PyCharm中的ml代码谢谢你的帮助。至少现在我知道我不是疯狂的XD…现在来看看你说的是什么,因为我真的不知道+.+…但至少现在我大致知道问题是什么了。

我以前从未做过JS,现在我只是在学习CSS,但偶然发现了这个动画教程,并想尝试一下。 它无法通过:<空白页输出。。。我想这是因为我必须提取JS变量才能输出它。我在这里寻找解决方案,并尝试document.getElementById'iconDiv'.innerHTML=s;但那没用。 感谢您的帮助

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Inkscape Animated Icon Snap</title>
<!--We need to add the Snap.svg script to our document-->
        <script src="snap.svg-min.js"></script>
        <script>
//Run script right away
            window.onload = function () {
//We'll be appending the icon to this DIV later
                var s = Snap("#iconDiv");
//Have Snap load the SVG file
                Snap.load("icon.svg", function(f) {
//Assign the white rectangle
                    whiteRect = f.select("#whiteRect");
//Assign the whole icon group
                    icon = f.select("#icon");
//When the icon is hovered over, have the white rectangle move up slightly with elastic properties
                    icon.hover(function() {
                        whiteRect.animate({y:960}, 500, mina.elastic);
                    },
//And return to original position when not hovered over
                               function() {
                        whiteRect.animate({y:977.36218}, 500, mina.elastic);
                    }
                    );
//Finally append the icon to iconDiv in the body
                s.append(f);
                });          
            };
        </script>
    </head>
    <body>
<!--Here's the DIV that will hold the animated SVG icon-->
<div id="iconDiv"></div>        
    </body>
</html>
我回去又做了一次,如下所示:

制作了一个100x100像素的蓝色正方形。集合ID:blueRect,标签:blueRect。 制作了一个50x50像素的白色正方形。集合ID:whiteRect,标签:whiteRect。 将它们分组并设置ID:图标、标签:图标。 将icon.svg保存为普通svg,保存在我的index.html文件所在的同一文件夹中。 下载Snap.svg并将Snap.svg-min.js放在我的index.html文件所在的同一文件夹中。 在记事本中打开icon.svg:

id=whiteRect 宽度=13.229167 高度=13.229167 x=6.6145835 y=277.15625

我不知道为什么这些数字和我第一次试验时的数字一样,因为我这次特别把我的平方放在了0,0。。。我甚至用不同的名字保存了一份副本。仍然得到那些数字,但不管怎样

Copy直接从网站粘贴html代码,并首先将y更改为277.15625,然后更改为0

将另一个y设置为270,然后设置为-15

icon.hover函数{ 动画{y:-15},500,mina.elastic


两次都是空白页。

您是否查看了控制台?控制台是否显示以下错误

Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
这是由您试图通过html加载本地文件的行引起的。如果人们可以将其本地文件加载到网站,则会存在安全风险。要解决此问题,请运行启用cors跨源资源共享的HTTP服务器。这里我使用的是可与npm一起安装的HTTP服务器。我正在侦听端口8000,并运行来自同一目录的服务器会记录文件的时间段

http-server . -o --cors -p 8000

另外,在index.html中,您需要将对本地目录的所有引用更改为http://localhost:8000/. 之后,您将浏览到,而不是在本地打开index.htmlhttp://127.0.0.1:8000/ 看动画。这对我来说很有效,至少在IE上是这样。Chrome对cors似乎更严格,我还没有弄清楚如何使用get过去了。我还没有试过Firefox。

快速否决,但在我的问题上连一点提示都没有……真的很有帮助……你被否决了,因为你没有发布一条消息。@bejado你可以键入[mcve]在注释中,它呈现了相同的内容。@Raksha-您需要在问题本身中提供一个答案,而不是所有代码的副本/粘贴,只是演示问题所需的内容以及一个明确的问题陈述(它不起作用)是不可行的。请进行一些调试。引用浏览器开发工具控制台中显示的任何消息。使用“网络”选项卡以确保加载所有外部文件。等等。本教程没有问题。根据您提供的信息,我们无法判断您做错了什么。我不知道在哪里可以看到这些消息。我正在使用PyCharm进行编辑,因为这是除记事本>>之外的唯一工具,我无法运行ht。”PyCharm中的ml代码谢谢你的帮助。至少现在我知道我不是疯狂的XD…现在来看看你说的是什么,因为我真的不知道+.+…但至少现在我大致知道问题是什么了。