如何检查元素是否向左移动?

时间:2013-07-13 00:50:28

标签: jquery

我在检查元素时遇到问题,我试图找出如何检查元素'rowSubPgm',如果它们已经使用rowwidth3向左移动。

我试过这个:

  if(current_row == 4 && currentdivwidth[0] == 517)
  {
    if($('.rowSubPgm').css( "margin-left", "-"+(rowwidth3)+"px"))
    {
      alert("now let do something");
    }

    $('.span2hrfor1hr30mins').each(function(i,e)
    {
      if($(e).hasClass('row2') && $(e).hasClass('span2hrfor1hr30mins'))
      {
        $('.rowSubPgm').css( "margin-left", "-"+(rowwidth3)+"px" );
        $(e).attr('row2'); $(e).removeClass('span2hrfor1hr30mins').addClass('span2hrfor1hr');
      }
    });

我可以通过'if current_row == 4&& currentdivwidth [0] == 517'语句当我在第4列的大小为517时,但如果他们使用rowwidth3向左移动,我就无法检查元素'rowSubPgm'。

你知道如果使用rowwidth3向左移动元素我怎么能检查它?

1 个答案:

答案 0 :(得分:0)

检查CSS margin-left属性怎么样?这是一个“技术级”解决方案。

var marginValue = $('.rowSubPgm').css( 'margin-left');   // gets CSS from first.
console.log('margin value=', marginValue);
if (marginValue) {  // is non-empty
    console.log('margin value detected!', marginValue);
    // now do something, based on that.
}

然而,做一个“设计级”解决方案可能会更好 - 切换CSS类或使用jQuery数据来标记应用程序的逻辑状态。

if ($('.rowSubPgm').hasClass( 'Row_IsShifted')) {
    // this class is specific to your applications, 
    //    and decouples logic from your specific implementation.
}

也许'span2hrfor1hr'类是一个合适的逻辑标记,也许不是? (我不了解您的应用程序打算做什么的概述。)

if ($('.rowSubPgm').hasClass( 'span2hrfor1hr')) {

如果您确实使用了CSS类,这也可以驱动左边距设置(如果不是动态的)以及其他一些格式。