Javascriptに投稿されたコード一覧

JavaScript アラビア数字からローマ数字に変換

var a = [
[1000, "M"],
[900, "CM"],
[500, "D"],
[400, "CD"],
[100, "C"],
[90, "XC"],
[50, "L"],
[40, "XL"],
[10, "X"],
[9, "IX"],
[5, "V"],
[4, "IV"],
[1, "I"]
];
var m = new Map(a);

function roman(number) {
    var div = number;
    var r = "";
    for (var key of m.keys()) {
        while ((div / key) >= 1) {
            r += m.get(key);
            div -= key;
        } ;
    }
    //console.log(r);
    return r;
}

JavaScript HSP3コンパイラfor EmEditorマクロ

//
// HSP3 コンパイラ for EmEditor マクロ
//
// compilerName にHSP3スクリプトエディタのパスを指定して使用してください。
//
var compilerName = "C:\\hsp332\\hsed3.exe";

// フルパスファイル名
strName = document.FullName;
// 拡張子名
ExtName = document.Name.replace(/^.*\./ , "").toUpperCase();

// 拡張子がHSPのものである場合、コンパイル実行
if ((ExtName == "HSP") || (ExtName == "AS")) {

	// 編集中のファイルのパスを取得
	document.CopyFullName();

	// HSP3スクリプトエディタを起動
	WshShell = new ActiveXObject( "WScript.Shell" );
	WshShell.Run( compilerName );
	// 「外部ファイル実行」を使ってコンパイル
	Sleep( 1000 );
	WshShell.SendKeys( "{F10}" );
	Sleep( 10 );
	WshShell.SendKeys( "^V" );
	Sleep( 10 );
	WshShell.SendKeys( "{TAB}" );
	Sleep( 10 );
	WshShell.SendKeys( "{-}" );	// 「オブジェクトファイルのみ作成」をOFF
	Sleep( 10 );
	WshShell.SendKeys( "{ENTER}" );
}

JavaScript 正規乱数

(function(a,b){a.nrand=(function(){var c=a.Math,d=c.random,e=c.sqrt,f=c.log,g=2*c.PI,h=c.cos;return function(a,c){a=a||0;if(b===c)c=1;return a+c*e(-2*f(d()))*h(g*d())}})()})(this);

nrand(      )    //~ (平均値)= 0, (標準偏差)= 1 の標準正規乱数
nrand(60    )    //~ (平均値)=60, (標準偏差)= 1 の  正規乱数
nrand(60, 15)    //~ (平均値)=60, (標準偏差)=15 の  正規乱数

JavaScript 開いているフォルダに新規テキストファイルを作る

var fs = new ActiveXObject("Scripting.FileSystemObject");
fs.CreateTextFile( FolderView.Pass + "\\untitled.txt" );

JavaScript レーベンシュタイン距離を求めてみた。(JS)

function LevensHtein(str_1, str_2)
{
    if(str_1 === str_2) return 0;
    var len_1 = 1 + str_1.length, i = len_1,
        len_2 = 1 + str_2.length, j = len_2,
        dists = function (dim_1, dim_2)
        {
            var i = 0,
                retTable = new Array(dim_1);
            for(; dim_1--;)
            {
                retTable[dim_1] = new Array(dim_2);
                for(i = dim_2; i--;) retTable[dim_1][i] = 0;
            }
            return retTable;
        }(len_1, len_2);
    for(; i--;) dists[i][0] = i;
    for(; j--;) dists[0][j] = j;
    for(i = 0; ++i < len_1;)
    {
        for(j = 0; ++j < len_2;)
        {
            dists[i][j] = Math.min(
                1 + dists[i - 1][j    ],
                1 + dists[i    ][j - 1],
                    dists[i - 1][j - 1] + (str_1[i - 1] === str_2[j - 1] ? 0 : 1));
        }
    }
    return dists[len_1 - 1][len_2 - 1];
}

/* minimum: function LevensHtein(s,t){if(s==t)return 0;var l=1+s.length,i=l,m=1+t.length,j=m,d=function(d,e){var i=0,r=new Array(d);for(;d--;){r[d]=new Array(e);for(i=e;i--;)r[d][i]=0}return r}(l,m);for(;i--;)d[i][0]=i;for(;j--;)d[0][j]=j;for(i=0;++i<l;){for(j=0;++j<m;){d[i][j]=Math.min(1+d[i-1][j],1+d[i][j-1],d[i-1][j-1]+(s[i-1]==t[j-1]?0:1))}}return d[l-1][m-1]} */

JavaScript GalleryViewのリンク設置カスタマイズ(target考慮)

//38行目あたりのthis.href = null を親要素のaのhrefを保持するように変更
//なお、このhrefはhref属性を付加するのではなく「href」という変数を保持するという意味みたいです
//          this.href = null;
          this.href = img.parent('a').attr('href') || null;

          //追加(target属性の値を保持する)
          this.href = img.parent('a').attr('target') || null;

//160行目あたりのli>imgをli imgに変更
//               this.sourceImgs = $('li>img',this.$el);
               this.sourceImgs = $('li img',this.$el);

//509行目あたりに追加
               _img.fadeIn();
               //以下の行を足します。1枚目の画像を読み込んだ時にリンクを設置します。data-link属性を保持させるのは後ほどの処理で
               //data-linkおよびdata-targetの有無によってwrapの内容を分岐する
               if(_img.attr('data-link') && _img.attr('data-target')){
                    _img.wrap('<a href="' + _img.attr('data-link') + '" target="' + img.attr('data-target') + '"></a>');
               } else if(_img.attr('data-link') && !_img.attr('data-target')){
                    _img.wrap('<a href="' + _img.attr('data-link') + '"></a>');
               }

//526行目あたりに追加
                              .attr('src',gvImage.src.panel)

                              //以下の行を追加。画像自体にdata-link属性でリンク先を保持します。data-targetとしてtarget属性の内容も保持
                              .attr('data-link',gvImage.href).attr('data-target',gvImage.target);

//600行目あたりに追加
//今回はpanel_animationがfadeのものに適用させてますが、それ以外のcrossfadeやslideに適用させる場合はその部分(caseの中)に書いてください。
//
                         if(panel.children().attr('data-link') && panel.children().attr('data-target')){
                              panel.children().wrap('<a href="' + panel.children().attr('data-link') + '" target="' + panel.children().attr('data-target') + '"></a>');
                         } else if(panel.children().attr('data-link') && !panel.children().attr('data-target')){
                              panel.children().wrap('<a href="' + panel.children().attr('data-link') + '"></a>');
                         }
                         break;

JavaScript with 文による変数スコープ – JavaScript サンプル

var a = 10;

A: (function ()
{
    console.log(a); // 10
})();
/* 函数の内部で参照された変数が見つけられなかつたときは、外側のスコープを見にゆく。*/

B: (function ()
{
    console.log(a); // undefined
    var a = 20;
    console.log(a); // 20
})();
/* var 文は函数スコープの先頭で実行されるが、代入は記述された箇所で行はれる。
 * つまり、B: は次のやうに書き換へられる。
 */
(function ()
{
    var a = undefined;
    console.log(a); // undefined
    a = 20;
    console.log(a); // 20
})();

C: (function ()
{
    var a = 20;
    console.log(a); // 20
    console.log(window.a); // 10
})();
/* グローバルスコープの変数は window のメンバである。*/

D: (function ()
{
    console.log(a); // 10
    eval('var a = 20;');
    console.log(a); // 20
})();
/* eval() を使ふと、変数を動的に宣言することができる。*/

E: var scope = {};
with(scope)
{
    console.log(a); // 10
    scope.a = 20;
    console.log(a); // 20
}
/* 同じことは with 文でゞも実現できる。*/

JavaScript via web から自動ふぁぼするスクリプト

/* usage
 * 1. (必要ならば)下の const を変更する。
 * 2. PC でコンソールが使えるブラウザを開く。
 * 3. コンソールに以下のコードを C&P して実行する。
 */

// const
var limit = 999, // 主に規制回避に使用。ここに設定した回数までふぁぼったら停止する
    blacklist = ['i7sm']; // 自分や自動ふぁぼが嫌いな人のSNを文字列配列で

function efb()
{
    var i = 0,
        j = 0,
        sn = '',
        temp = '',
        favButtons = document.querySelectorAll('.favorite'),
        favButton = favButtons[0];
    fav: do {
        if(getComputedStyle(favButton, '').display !== 'none') // あんふぁぼ回避
        {
            j = 0;
            sn = blacklist[0];
            temp = favButton.parentElement.parentElement.parentElement.parentElement.querySelector('.username>b').textContent;
            do {
                if(sn === temp) // ブラックリスト回避
                {
                    continue fav;
                }
            } while(sn = blacklist[++j]);
            if(limit--)
            {
                favButton.click();
            }
            else
            {
                clearInterval(intervalID);
                break;
            }
        }
    } while(favButton = favButtons[++i]);
}
var intervalID = window.setInterval(function ()
    {
        var newButton = document.querySelector('.new-tweets-bar');
        if(!!newButton)
        {
            newButton.click();
            efb();
        }
    }, 30000);
efb();

JavaScript jquery.validate.js でname属性値の異なる3つ以上のチェックボックスに相互的な必須条件を付ける

			name1: {
				required: function() { return !( $('#name2').attr('checked') == 'checked' || $('#name3').attr('checked') == 'checked' ) }
			},
			name2: {
				required: function() { return !( $('#name1').attr('checked') == 'checked' || $('#name3').attr('checked') == 'checked' ) }
			},
			name3: {
				required: function() { return !( $('#name1').attr('checked') == 'checked' || $('#name2').attr('checked') == 'checked' ) }
			}

JavaScript レイヤーグループにもとづく新規ユーザー定義スライス(ちょっとずれる)

//アクティブドキュメント取得
var doc = activeDocument;

//アクティブレイヤー
var act = doc.activeLayer;
if(act.typename != 'LayerSet'){
	alert('レイヤーグループを選択してください');
} else {

//幅とか高さとか
var x = act.bounds[0]; //左
var y = act.bounds[1]; //上
var x2 = act.bounds[2]; //右下x
var y2 = act.bounds[3]; //右下y

//スライス作成
// =======================================================
var idMk = charIDToTypeID( "Mk  " );
    var desc3 = new ActionDescriptor();
    var idnull = charIDToTypeID( "null" );
        var ref1 = new ActionReference();
        var idslice = stringIDToTypeID( "slice" );
        ref1.putClass( idslice );
    desc3.putReference( idnull, ref1 );
    var idUsng = charIDToTypeID( "Usng" );
        var desc4 = new ActionDescriptor();
        var idType = charIDToTypeID( "Type" );
        var idsliceType = stringIDToTypeID( "sliceType" );
        var iduser = stringIDToTypeID( "user" );
        desc4.putEnumerated( idType, idsliceType, iduser );
        var idAt = charIDToTypeID( "At  " );
            var desc5 = new ActionDescriptor();
            var idTop = charIDToTypeID( "Top " );
            var idPxl = charIDToTypeID( "#Pxl" );
            desc5.putUnitDouble( idTop, idPxl, y );
            var idLeft = charIDToTypeID( "Left" );
            var idPxl = charIDToTypeID( "#Pxl" );
            desc5.putUnitDouble( idLeft, idPxl, x );
            var idBtom = charIDToTypeID( "Btom" );
            var idPxl = charIDToTypeID( "#Pxl" );
            desc5.putUnitDouble( idBtom, idPxl, y2 );
            var idRght = charIDToTypeID( "Rght" );
            var idPxl = charIDToTypeID( "#Pxl" );
            desc5.putUnitDouble( idRght, idPxl, x2 );
        var idRctn = charIDToTypeID( "Rctn" );
        desc4.putObject( idAt, idRctn, desc5 );
    var idslice = stringIDToTypeID( "slice" );
    desc3.putObject( idUsng, idslice, desc4 );
executeAction( idMk, desc3, DialogModes.NO );
}
Total Pages: 1 / 512345

よく投稿されているコード

タグ

最近投稿されたコード