2015-06-30 87 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