5509

要素のブラウザ上での位置を9ブロックの中から数値で返す m5GetElementPos

よくわからんと思いますけど、サンプルを見ればなんとなく伝わるような。。
指定した要素のブラウザがその時表示している位置を以下のテーブルの数値で返します。

┏━┳━┳━┓
┃0┃1┃2┃
┣━╋━╋━┫
┃3┃4┃5┃
┣━╋━╋━┫
┃6┃7┃8┃
┗━┻━┻━┛

m5GetElementPosのサンプル

返す数値は、実際returnで返ってくるわけじゃないんです。指定した要素にjQuery.dataで”ElementPos”というプロパティに書きこんでます。

ダウンロード

ダウンロードはgithubからどぞー

使い方とかをざっくりと

こんな感じで取れます。

$(target)
  .m5GetElementPos()
  .click(function() {
    alert($.data($(this), "ElementPos"));
    return false;
  });

または、コールバックでも使えます。

$(target).click(function() {
  $(this).m5GetElementPos({
    returnNumber: false,
    callback: function() {
      alert($.data(this, "ElementPos"));
    }
  });
  return false;
});

コールバック関数ではcallback.callしているので、thisはm5GetElementPosを実行した要素になります。

オプション

returnNumber 数値で返すか、文字で返すか。デフォルトは数値でtrue
returnCancel falseを指定するとthisを返さないので、メソッドチェーンができなくなります
callback コールバック関数

そんな感じで

バグとかあれば教えてください

Author

nori
nori
- UI Engineer
Location
- ,