2011-12-20 17 views
0

私はページ内編集でWebアプリケーションのDOM要素のハイライトマスクを計算するためにjQueryを使用しています。要素は次元を変更できるため、マスクはホバー上で動的に計算されます。jQueryのオーバーフロー:隠し要素を無視する

要素の1つは画像のスクロールですので、余分なワイドdiv内に画像で隠されています。私が抱えている問題は、オーバーフロー:幅/高さの計算に隠された要素を無視するjQueryを取得することです。

要するに、オーバーフローによって隠されたDOMノードを無視するjQueryセレクタがありますか?

答えて

1

を参照してください。あなたはcuを作成することができますevenまたはoddなどのSTOM jQueryのセレクタ、あなたはnotOverflowHidden

$.expr[':'].notOverflowHidden = function(obj){ 
    return ($(obj).css('overflow') !== 'hidden'); 
}; 

それに名前を付けることができますし、そうのように隠されていないoverflowプロパティでノードのコレクションを取得することができます、他の回答が細かいですが

$('div:notOverflowHidden').each(...); 
+0

これは必要な複雑さを提供し、既存のコードで使用するのが最も簡単です。ありがとう! – Kidra

0

ライブデモhttp://jsfiddle.net/ZYP8Z/

//for example I am selecting divs 
$(function(){ 
    $('div').each(function(){ 
     if($(this).css('overflow')!='hidden') 
      alert($(this).html()); //your action 
    }); 
}); 
0

はい、ありが...

$("*").each(function(){ 
//only pick those element from DOM whose css has overflow not equal to hidden 
if($(this).css("overflow") != "hidden"){ 
    //do your logic 
} 
}); 

よりjQueryのセレクタについては、次のリンク

http://api.jquery.com/category/selectors/

関連する問題