小编gar*_*uan的帖子

如何使用Javascript访问SVG元素

我正在搞乱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)

javascript svg raphael

78
推荐指数
3
解决办法
14万
查看次数

如何将数字的值增加到下一个10,100,1000,10,000等的倍数

你必须原谅这个问题的措辞,我确信有更好,更简洁的方式来问它,但我不知道.

假设我有一个图表,所有的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,这就是问题所在.有任何想法吗?

javascript math max

43
推荐指数
3
解决办法
5992
查看次数

我为什么不用*声明NSInteger

我正试着在iTunes U上从斯坦福大学开始学习iPhone课程,我对指针感到有些困惑.在第一次任务中,我尝试过做这样的事情

NSString *processName = [[NSProcessInfo processInfo] processName];
NSInteger *processID = [[NSProcessInfo processInfo] processIdentifier];
Run Code Online (Sandbox Code Playgroud)

这产生了一个错误,在盲目地修复之后,我发现它是导致问题的NSInteger系列中的*.

所以我显然不明白发生了什么.我将解释我认为它是如何工作的,也许有人会善意地指出这个缺陷.

与Web开发不同,我现在需要担心内存,而不是Web开发.因此,当我创建一个变量时,它会在某处分配一些内存(我假设是RAM).我没有传递变量,而是将指针传递给周围的内存.并且通过在变量名前加上*来声明指针.

假设我是对的,让我感到困惑的是为什么我不需要为NSInteger做那个?

cocoa pointers integer objective-c nsinteger

42
推荐指数
2
解决办法
3万
查看次数

如何用Cocos2d-iPhone绘制一条线

我试图通过尝试完成简单的事情来掌握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)

哪个不给我一个错误,但它也不起作用.我意识到我不理解一些基本的东西,但任何人都可以引导我朝着正确的方向前进吗?

iphone cocoa-touch objective-c cocos2d-iphone

19
推荐指数
3
解决办法
5万
查看次数

如何在使用Webkit转换和转换时修复闪烁

我有一个非常简单的演示工作,它使用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)

html css safari webkit

19
推荐指数
3
解决办法
4万
查看次数

如何在NSArray中查找字符串?

这感觉就像是一个愚蠢的问题,但我怎么能找到一个字符串NSArray

我试过用

[array indexOfObjectIdenticalTo:myString]
Run Code Online (Sandbox Code Playgroud)

但这需要刺痛具有相同的地址.

有没有人有关于如何做到这一点的任何提示?

cocoa nsstring nsarray

18
推荐指数
2
解决办法
2万
查看次数

你如何一起使用JSHint和Browserify?

我正在尝试使用Angular和Browserify构建项目.我的controllers.js文件看起来像这样......

'use strict';

module.exports.testController = function($scope){
    $scope.message = 'Controller 1';
    console.log( 'hello' );
};
Run Code Online (Sandbox Code Playgroud)

正如您所料,这会产生三个掉毛错误.

  • 使用Strict的函数形式
  • "模块"未定义
  • "控制台"未定义

我确实在这里找到了一些解决方案,它使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?

javascript jshint browserify

14
推荐指数
1
解决办法
6809
查看次数

是否有一种javascript方式来检查浏览器是否原生支持MP3?

如果浏览器可以播放MP3,那么我将使用音频标签播放文件.如果没有,我将不得不加载一个Flash播放器.

javascript html5 mp3

12
推荐指数
1
解决办法
8210
查看次数

ReSTful URLS的标准应该是什么?

由于我找不到一个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的标准应该是什么?

rest url coding-style

11
推荐指数
1
解决办法
3142
查看次数

在Gulp中的"管道"之间传递变量

我正在尝试编写一个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有关吗?

javascript gulp

11
推荐指数
1
解决办法
1万
查看次数