2015-06-30 49 views
0

JQuery的:JQuery的:改变容器利润率左的窗口调整

$(document).ready(function() { 
    updateContainer(); 
    $(window).resize(function() { 
    updateContainer(); 
    }); 
}); 

function updateContainer() { 
    var w = $(window).innerWidth(); 
    var img_head = $("#img_tag"); 
    var image_w = img_head.css("padding") + img_head.width(); 
    var cont = $("#image_container"); 
    if (w > 6*image_w) { 
      var margin = (w - 6*image_w)/2; 
      return cont.css('margin-left', margin + "px"); 
    } else if (w > 5*image_w) { 
      var margin = (w - 5*image_w)/2; 
      return cont.css('margin-left', margin + "px"); 
    } else if (w > 4*image_w) { 
      var margin = (w - 4*image_w)/2; 
      return cont.css('margin-left', margin + "px");  
    } else if (w > 3*image_w) { 
      var margin = (w - 3*image_w)/2; 
      return cont.css('margin-left', margin + "px");  
    } else { 
      var margin = (w - 2*image_w)/2; 
      return cont.css('margin-left', margin + "px"); 
    } 
}); 

相关HTML

<div id="images"> 
<div id="image_container"> 
<img id="img_tag" src="image source etc."> 
... 18 other images ... 
</div> 
</div> 

为了提供多一点的情况下,我有图片(所有与相同尺寸的列表和相同的id,img_tag)在图像容器中,我试图在窗口大小调整时更改容器的左边距。目前这根本不起作用。我对Jquery来说很新,并不确定问题出在哪里。 谢谢!

+1

你错过了在return语句的多个地方关闭圆括号。你应该检查控制台是否有错误。 –

+0

这是一个复制/粘贴错误。固定。 –

+0

你再次改变了你的代码。你有没有检查它的工作? –

回答

0

您可以复制粘贴此:

$(document).ready(function() { 
    updateContainer(); 
    $(window).resize(function() { 
     console.log('updating'); 
     updateContainer(); 
    }); 
}); 

function updateContainer() { 
    var w = $(window).innerWidth(); 
    var img_head = $("#img_tag"); 
    var image_w = img_head.css("padding") + img_head.width(); 
    var cont = $("#image_container"); 
    if (w > 6*image_w) { 
      var margin = (w - 6*image_w)/2; 
      return cont.css('margin-left', margin + "px"); 
    } else if (w > 5*image_w) { 
      var margin = (w - 5*image_w)/2; 
      return cont.css('margin-left', margin + "px"); 
    } else if (w > 4*image_w) { 
      var margin = (w - 4*image_w)/2; 
      return cont.css('margin-left', margin + "px");  
    } else if (w > 3*image_w) { 
      var margin = (w - 3*image_w)/2; 
      return cont.css('margin-left', margin + "px");  
    } else { 
      var margin = (w - 2*image_w)/2; 
      return cont.css('margin-left', margin + "px"); 
    } 
}; 

你仍然有语法错误。这一个正在运行。 每当触发更改时,您都会在JS控制台日志中看到。 演示在这里:http://jsfiddle.net/ddan/4mxx513o/

+0

什么是语法错误?我似乎无法找到它。 –

+0

在最后一行你有一个意想不到的')' – DDan