【问题标题】:Variable from .width来自 .width 的变量
【发布时间】:2012-03-15 07:12:56
【问题描述】:

我是 JavaScript 和 jQuery 的新手,需要一些帮助。如果这很容易而且我只是没有看到它,我也很抱歉!

基本上,我试图在加载后查找图像的大小,因此我可以使用此信息来调整 div 的宽度。

这是目前的代码:

<script type="text/javascript" src="js/jquery.js"></script>

<img id="Img1" src="01.jpg" style="height: 50%; width: 50%;" />

<script>
$(document).ready(function() {
     $(Img1).load(function() {
       alert($(this).width());
    });
});
</script>

这会创建一个宽度正确的提示框!但我似乎无法找到一种方法来重用这些信息或从中声明一个变量!

请问有人可以帮我吗?任何帮助将不胜感激!谢谢。

【问题讨论】:

  • 试试alert( $(this).attr("width") ); 当然假设this 是对img 标签的引用。
  • 我很惊讶您使用格式错误的选择器获得了正确的宽度。没有“Img1”元素 (&lt;Img1&gt;foo&lt;/Img1&gt;)。选择器整理好后,您当然可以将结果弹出到变量中。

标签: javascript jquery function width


【解决方案1】:

因为Img1img 元素的id,所以使用它作为id 来选择它。要存储宽度的值,您可以声明一个变量并将其存储在其中。然后在需要的地方使用该变量。

$(document).ready(function() {
    var imgWidth;
    //Selecting image using id selector
    $("#Img1").load(function() {
       imgWidth = $(this).width();
    });
});

您应该了解jQuery 根据您的标记结构为您提供的各种选择器。看看这个链接http://api.jquery.com/category/selectors/

注意:如果你想在整个页面中使用这个变量,那么你应该在外部或全局范围内定义它。

【讨论】:

  • 我还认为这是一个格式错误的选择器。有时,设备损坏的问题只是没有插上电源。;-)
  • 嘿,谢谢你的回答,这对我来说更有意义,但它似乎不太有效。我已经将 Var imgWidth 放在函数之外,然后尝试在函数之后使用 doc.write 但它输出“未定义”任何关于为什么的线索?不管怎样,谢谢!
  • 感谢您的所有帮助,但我找到了一种方法来解决我的特定需求。我找不到在全局范围内使用变量的方法,所以我创建了第二个函数(将两个宽度加在一起),然后在警报所在的位置调用它。不确定这是否有意义,但仍然非常感谢! :)
【解决方案2】:

这应该适合你:

var imgWidth;
 $(Img1).load(function() {
   imgWidth = $(this).width();
   alert(imgWidth);
});

这是一个jsFiddle 示例。变量 imgWidth 将具有您以后可以使用的图像的宽度。

【讨论】:

  • 这适用于警报,但是当我稍后尝试使用 doc.write 时,它​​只会给我“未定义”:(知道我做错了什么吗??还是谢谢。
  • 我需要看看你是如何使用它的。
【解决方案3】:

您是否考虑过将 DIV 宽度设置为 auto?如果这样做,您甚至不必担心知道宽度是多少。

【讨论】:

    【解决方案4】:

    像这样?

    $(document).ready(function() {
        var width; // global/parent-scope variable to hold width
        $(Img1).load(function() {
           width = $(this).width(); // width is now stored in global
        });
    });
    

    否则你的问题没有意义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-16
      • 2017-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多