开发者

Rails 3 / Javascript- Set width of div

开发者 https://www.devze.com 2023-03-23 15:20 出处:网络
I hate to ask the same question that\'s on here several times but I\'m struggling to开发者_如何学C bring it all together.

I hate to ask the same question that's on here several times but I'm struggling to开发者_如何学C bring it all together.

I'm doing something I think should be pretty simple with javascript. Each time a page loads, I need to find with width of an img. With that img width, I need to assign it to the width of the div. So far I've come up with:

$(window).load(function() {
  var imgWidth = $("img").width();
  $function setWidth(imgWidth){
    $("#main").css("width":imgWidth);
    return false;
  });
});

For each page that loads, I want to assign with width of the img (only one on a page) to my imgWidth variable. I then pass that variable into a function to change the css of my div with an id of mmain to with imgWidth.

Basically, I'm stuck. I can't get anything to work and am having problems seeing why I can't get it to resize.

Anyway, appreciate the help. I'm on rails 3, using jquery.


Using jQuery it's

$(document).ready(function() {
  $("#main").width($("img").first().width());
});

Here were your mistakes:

  • You should call document ready

  • $("img") retrieves an array of elements. So either take the first like I did or provide a precise matcher.

  • You're badly defining a function you don't call

  • You're badly passing value to css attribute: Doc here.


I think you just need to change

$("#main").css("width":imgWidth);

to

$("#main").css("width",imgWidth);

docs


Have you considered just floating the div? E.g.

div#picture {
float: left; 
}

This way the width of the div will adapt to the size of the image - no JS required.

HTH

0

精彩评论

暂无评论...
验证码 换一张
取 消