2012-04-27 17 views
0

私がでクリックすると、下の画像のように機能するはずです。xとyの位置。

enter image description here

しかし、その代わりに、私のコードは、これをやっています。

enter image description here

Iは、例えば(以下バイオリンを参照)からなります。イメージでわかるように、私の現在の問題は次のとおりです。

(最初の行だけでなく)上記もすべて変更されています。

私の場合、私は.css('background-color', 'red')を使ってテストしています。

Here is my fiddle.

私はそれらの2つのポストに情報を収集しました。

+1

あなたの質問は何ですか?あなたはどこにいるのですか? –

+1

左クリックと右クリックは、最良のデザインアイデアではありません。たとえば、Macのラップトップユーザーはそれに非常に苦労するでしょうし、難しさを分かち合う多くの人がいると確信しています。 – rid

+0

返事ありがとう、申し訳ありませんが私が望むように表現することができれば。私が@MichaelPetrottaを言おうとしたとき、私はクリックの周りのdivだけを必要としました。しかし、現時点では、私のクリック(最初の行だけではない)と下のすべてのdiv(最初の行だけではない) –

答えて

1

いけないあなたが望む結集ものを知っているが、これ試してみてください。

$.expr[':'].xy = function (obj, index, meta, stack) { 
    var xy = meta[3].split(','); 
    var x = xy[0]; 
    var y = xy[1]; 
    var el = $(obj); 
    var el_offset = el.offset(); 
    return el_offset.left == y && (el_offset.top-el.height() == x || el_offset.top+el.height() == x); 
} 

working example

UPDATE:

うーん、あなたがこのようにそれらのすべてを選択することができます。

$.expr[':'].xy = function (obj, index, meta, stack) { 
    var xy = meta[3].split(','); 
    var y = xy[0]; 
    var x = xy[1]; 
    var el = $(obj); 
    var el_offset = el.offset(); 
    // check for top and bottom 3 blocks 
    if ((el_offset.top-el.height() == y || el_offset.top+el.height() == y) && (el_offset.left+el.width() == x || el_offset.left == x || el_offset.left-el.width() == x)) 
     return true; 
    // left and right 
    else if (el_offset.top == y && (el_offset.left+el.width() == x || el_offset.left-el.width() == x)) 
     return true; 

    return false; 
} 

してから、次のように実行します。

$(document).ready(function myfunction() { 

    $('.content').on("click", function() { 
     var obj_left = $(this).offset().left; 
     var obj_top = $(this).offset().top; 

     $('#wrap').find('.content:xy(' + obj_top + ',' + obj_left + ')').css('background-color', 'red'); 
    }); 

}); 
+0

返事をありがとう。あなたの例をチェックしたところ、私が探していたものです。 –

+0

おそらく更新が役に立ちます – Vytautas

+0

補足に本当に感謝します。元の質問の一部ではなかったので、コメントの余分な質問を削除しました。私は少し罵倒していました。しかし、本当にありがとう補完=) –

関連する問題