我正在搞乱SVG,我希望我可以在Illustrator中创建SVG文件并使用Javascript访问元素.
这是SVG文件Illustrator的开始(它似乎也添加了一堆垃圾到我删除的文件的开头)
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="276.843px" height="233.242px" viewBox="0 0 276.843 233.242" enable-background="new 0 0 276.843 233.242"
xml:space="preserve">
<path id="delta" fill="#231F20" d="M34.074,86.094L0,185.354l44.444,38.519l80.741-0.74l29.63-25.186l-26.667-37.037
c0,0-34.815-5.926-37.778-6.667s-13.333-28.889-13.333-28.889l7.407-18.519l31.111-2.963l5.926-21.481l-12.593-38.519l-43.704-5.185
L34.074,86.094z"/>
<path id="cargo" fill="#DFB800" d="M68.148,32.761l43.704,4.445l14.815,42.963l-7.407,26.667l-33.333,2.963l-4.444,14.074
l54.074-1.481l22.222,36.296l25.926-3.704l25.926-54.074c0,0-19.259-47.408-21.481-47.408s-31.852-0.741-31.852-0.741
l-19.259-39.259L92.593,8.316L68.148,32.761z"/>
<polygon id="beta" fill="#35FF1F" points="86.722,128.316 134.593,124.613 158.296,163.872 190.889,155.724 214.593,100.909
194.593,52.02 227.186,49.057 246.444,92.02 238.297,140.909 216.074,172.761 197.556,188.316 179.778,169.798 164.963,174.983
163.481,197.946 156.815,197.946 134.593,159.428 94.593,151.279 "/>
<path class="monkey" id="alpha" fill="#FD00FF" d="M96.315,4.354l42.963,5.185l18.519,42.222l71.852-8.148l20.74,46.667l-5.926,52.593
l-24.444,34.074l-25.185,15.555l-14.074-19.259l-8.889,2.964l-1.481,22.222l-14.074,2.963l-25.186,22.963l-74.074,4.444
l101.481,4.444c0,0,96.297-17.777,109.63-71.852S282.24,53.983,250.389,20.65S96.315,4.354,96.315,4.354z"/>
</svg>
Run Code Online (Sandbox Code Playgroud)
正如您可能看到的,每个元素都有一个ID,我希望能够使用Javascript访问单个元素,这样我就可以更改Fill属性并响应诸如click之类的事件.
HTML是基本的沼泽
<!DOCTYPE html>
<html>
<head>
<title>SVG Illustrator …Run Code Online (Sandbox Code Playgroud) 你必须原谅这个问题的措辞,我确信有更好,更简洁的方式来问它,但我不知道.
假设我有一个图表,所有的y轴值都是
[0,4,5,3,2,5,6]
最大值为6.所以我希望Y-Scale标记为0到10.
给出以下值
[33,26,54,23,86,23]
最大值是86,所以我希望Y-Scale从0到90.
现在假设我有以下数值
[98,253,87, 876,263]
最大值为876,因此Y标度应为0到900
现在我已经创建了以下函数,它应该给我到目前为止所需的所有最大y-scale值.
function padMaxValue(value){
for(var i = 1; i < 1000000000000000000; i = i * 10){
var decimalValue = value / i;
if(value === i){
return i;
}
if(decimalValue < 1 && decimalValue > 0.09){
return i;
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,给出以下值
[99,123,82,189,45]
我的函数会将y-scale max设置为1000.但是最大应该是200.我意识到我真正需要的是一种更聪明的方法来增加价值,i而不是仅仅乘以10.我需要能够将i的值增加10,一直向上然后将它增加100,一直增加到1000.然后将其增加1000,一直增加到10000,依此类推.
我觉得应该有一些干净整洁的数学方法来做到这一点.而且我也觉得1000000000000000000我在for循环中的数字背叛了我对数学的无知.
Anyhoot,这就是问题所在.有任何想法吗?
我正试着在iTunes U上从斯坦福大学开始学习iPhone课程,我对指针感到有些困惑.在第一次任务中,我尝试过做这样的事情
NSString *processName = [[NSProcessInfo processInfo] processName];
NSInteger *processID = [[NSProcessInfo processInfo] processIdentifier];
Run Code Online (Sandbox Code Playgroud)
这产生了一个错误,在盲目地修复之后,我发现它是导致问题的NSInteger系列中的*.
所以我显然不明白发生了什么.我将解释我认为它是如何工作的,也许有人会善意地指出这个缺陷.
与Web开发不同,我现在需要担心内存,而不是Web开发.因此,当我创建一个变量时,它会在某处分配一些内存(我假设是RAM).我没有传递变量,而是将指针传递给周围的内存.并且通过在变量名前加上*来声明指针.
假设我是对的,让我感到困惑的是为什么我不需要为NSInteger做那个?
我试图通过尝试完成简单的事情来掌握Cocos2d.此时,我有一个场景,那个场景有一个背景精灵和一个图层.我正在尝试使用drawLine绘制图层.这是我目前的尝试.
@implementation MyLayer
-(id)init{
self = [super init];
if(self != nil){
glColor4f(0.8, 1.0, 0.76, 1.0);
glLineWidth(2.0f);
CocosNode *line = drawLine(10.0f, 100.0f,400.0f,27.0f);
[self addChild:line z:1];
}
return self;
}
@end
Run Code Online (Sandbox Code Playgroud)
这会产生错误"空值不被忽略,因为它应该是".显然我做错了,但希望你能看出我的推理.
我也试过这个
-(id)init{
self = [super init];
if(self != nil){
glColor4f(0.8, 1.0, 0.76, 1.0);
glLineWidth(2.0f);
drawLine(10.0f, 100.0f,400.0f,27.0f);
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
哪个不给我一个错误,但它也不起作用.我意识到我不理解一些基本的东西,但任何人都可以引导我朝着正确的方向前进吗?
我有一个非常简单的演示工作,它使用Webkit转换和转换来实现'面板'(div)之间的平滑水平滚动.
我想要走这条路线而不是Javascript驱动系统的原因是它适用于iPad和Javascript性能相当差,但css转换和过渡是如丝绸一样平滑.可悲的是,我用我的演示在iPad上闪烁了很多.
你需要safari或iPad才能看到它的实际效果.我从来没有在转换和转换的任何演示中看到过这种情况,所以我希望这是可以修复的.
无论如何这里的代码是为了这个东西....
HTML看起来像这样.
<html>
<head>
<title>Swipe Demo</title>
<link href="test.css" rel="stylesheet" />
<link href="styles.css" rel="stylesheet" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="functions.js"></script>
<script type="text/javascript" src="swiping.js"></script>
</head>
<body>
<div id="wrapper">
<div class='panel one'>
<h1>This is panel 1</h1>
</div>
<div class='panel two'>
<h1>This is panel 2</h1>
</div>
<div class='panel three'>
<h1>This is panel 3</h1>
</div>
<div class='panel four'>
<h1>This is panel 4</h1>
</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
CSS看起来像这样
body,
html
{
padding: 0;
margin: 0;
background: #000;
} …Run Code Online (Sandbox Code Playgroud) 这感觉就像是一个愚蠢的问题,但我怎么能找到一个字符串NSArray?
我试过用
[array indexOfObjectIdenticalTo:myString]
Run Code Online (Sandbox Code Playgroud)
但这需要刺痛具有相同的地址.
有没有人有关于如何做到这一点的任何提示?
我正在尝试使用Angular和Browserify构建项目.我的controllers.js文件看起来像这样......
'use strict';
module.exports.testController = function($scope){
$scope.message = 'Controller 1';
console.log( 'hello' );
};
Run Code Online (Sandbox Code Playgroud)
正如您所料,这会产生三个掉毛错误.
我确实在这里找到了一些解决方案,它使JSHint能够处理Node.js文件,方法是将文件jslint node: true顶部放在这样的顶部
/*jslint node: true */
'use strict';
module.exports.testController = function($scope){
$scope.message = 'Controller 1';
console.log( 'hello' );
};
Run Code Online (Sandbox Code Playgroud)
但是,这显然修复了太多; 'console.log(...)'仍然应该是未定义的.
有谁知道如何在Browserify中使用JSHint?
如果浏览器可以播放MP3,那么我将使用音频标签播放文件.如果没有,我将不得不加载一个Flash播放器.
由于我找不到一个chuffing工作,我一直在阅读ReST和创建Web服务.我解释它的方式,未来就是在构建Web应用程序之前为所有数据创建Web服务.这似乎是一个好主意.
但是,对于ReSTful URL的最佳方案,似乎存在很多矛盾的想法.
有些人提倡简单漂亮的网址
http://api.myapp.com/resource/1
Run Code Online (Sandbox Code Playgroud)
另外,有些人喜欢将API版本添加到url中
http://api.myapp.com/v1/resource/1
为了让事情更加混乱,有些人主张添加内容类型来获取请求
http://api.myapp.com/v1/resource/1.xml
http://api.myapp.com/v1/resource/1.json
http://api.myapp.com/v1/resource/1.txt
Run Code Online (Sandbox Code Playgroud)
而其他人认为应该在HTTP标头中发送内容类型.
Soooooooo ....这是很多变化,这让我不确定最好的URL方案是什么.我个人看到最全面的URL的优点,包括版本号,资源定位器和内容类型,但我是新手,所以我可能是错的.
另一方面,你可以说你应该做"任何最适合你的事情".但据我所知,这并不符合ReST心态,因为目标是制定一个标准.
而且由于很多人在使用ReST时会有比我更多的经验,我想我会要求一些指导.所以,考虑到所有这些......
ReSTful URLS的标准应该是什么?
我正在尝试编写一个gulp任务,通过gulp-prompt插件获取一些用户输入.但我无法将输入传递给其他人,例如:
gulp.task('userinput', function(){
var myVar = 'MONKEY';
gulp.src('./templates/_component.*')
.pipe(prompt.prompt([
{
type: 'input',
name: 'userInput',
message: 'Say something'
}
], function(res){
myVar = res.userInput;
}))
.pipe(prompt.confirm('You said ' + myVar));
});
Run Code Online (Sandbox Code Playgroud)
假设我hello在提示时输入,我希望确认说You said Hello,但它说You said MONKEY.
这可能与Gulp有关吗?