Javascript 动态加倍图像大小

Javascript 动态加倍图像大小,javascript,Javascript,我有一个令人尴尬的简单问题:如何在不硬编码宽度和高度属性的情况下以两倍大小显示图像?这是我尝试过的,但最后我不得不输入1000作为宽度和高度。我的功能有问题吗?谢谢 <img onload="double(self.id);" name="bigPic" id="bigPic" src="album1.jpg" height="1000" width="1000"/> function double(id) { var img = document.getE

我有一个令人尴尬的简单问题:如何在不硬编码宽度和高度属性的情况下以两倍大小显示图像?这是我尝试过的,但最后我不得不输入1000作为宽度和高度。我的功能有问题吗?谢谢

<img onload="double(self.id);" name="bigPic" id="bigPic" src="album1.jpg" height="1000" width="1000"/>

    function double(id) {
        var img = document.getElementById(id);
        var dblWdth = img.width * 2;
        var dblHt = img.height * 2;

        img.height = dblHt;
        img.width = dblWdth;
    }

您必须使用window.load函数来实现这一点

window.onload=function() {double("bigPic");
    }

您必须使用window.load函数来实现这一点

window.onload=function() {double("bigPic");
    }
这应该能奏效。 您可以使用windowonload方法来完成加载页面时需要完成的所有操作

这应该能奏效。
您可以使用windowonload方法来完成加载页面时需要完成的所有操作

如果您使用jquery,可以这样做:

<img name="bigPic" id="bigPic" src="album1.jpg" />

<script type="text/javascript">
    $(document).ready(function () {
        $("#bigPic")[0].width *= 2;
        $("#bigPic")[0].height *= 2; // may not be necessary, see note
    });
</script>

注意:如果不指定高度,高度会自动加倍。宽度也是如此。但我只在IE9和FF12上进行了测试。

如果使用jquery,可以这样做:

<img name="bigPic" id="bigPic" src="album1.jpg" />

<script type="text/javascript">
    $(document).ready(function () {
        $("#bigPic")[0].width *= 2;
        $("#bigPic")[0].height *= 2; // may not be necessary, see note
    });
</script>
注意:如果不指定高度,高度会自动加倍。宽度也是如此。但我只在IE9和FF12上进行了测试。

没有doubleself.id;但这是一个双重身份

这个

你可以通过这个,那会更简单

function double(img) {
    img.height *= 2;
    img.width *= 2;
}
不是双重身份证;但这是一个双重身份

这个

你可以通过这个,那会更简单

function double(img) {
    img.height *= 2;
    img.width *= 2;
}

您并不需要javascript来实现这一点。你可以用CSS来做

img {
    zoom: 2;
    -webkit-transform: scale(2);
    -moz-transform: scale(2);
    -ms-transform: scale(2);
    -o-transform: scale(2);
    transform: scale(2);
}

当然,这将使页面上所有图像的大小加倍。也许相反,您希望创建一个类,并将其分配给所有应该加倍的图像,或者找到其他方法仅选择这些图像。您还可以在鼠标悬停时将其设置为两倍大小,或者在某些浏览器中仅使用css进行动画放大

这并不需要javascript。你可以用CSS来做

img {
    zoom: 2;
    -webkit-transform: scale(2);
    -moz-transform: scale(2);
    -ms-transform: scale(2);
    -o-transform: scale(2);
    transform: scale(2);
}

当然,这将使页面上所有图像的大小加倍。也许相反,您希望创建一个类,并将其分配给所有应该加倍的图像,或者找到其他方法仅选择这些图像。您还可以在鼠标悬停时将其设置为两倍大小,或者在某些浏览器中仅使用css进行动画放大

旁注:您只需将其传递到函数double并保存对document.getelementbyidi的调用。如果删除高度和宽度属性,它将以其原始大小显示。然后,您可以使用javascript对其进行超大处理,而不知道它有多大。有趣的是:“double”在javascript中是一个保留字,不是函数名的好选择。@Okonomiyaki3000,很好的捕获,补充说明:您只需将其传递到函数double并保存对document.getelementbyidi的调用,如果删除高度和宽度属性,它将以其原始大小显示。然后,你可以使用javascript对其进行超大小处理,而不知道它有多大。有趣的事实是:“double”在javascript中是一个保留字,不是函数名的好选择。@Okonomiyaki3000,很好的捕获,superSizeme。是的,你是对的,但我代表dreamweaver说了为什么它必须与dreamweaver相关,它只是一个编辑器,但它显示了可以附加到元素的所有事件处理程序。dreamweaver中未显示的元素并不意味着它不存在。记事本也没有显示任何东西,那么我们能说什么呢?是的,你是对的,但我代表dreamweaver说,为什么它必须与dreamweaver相关,它只是一个编辑器。但是它显示了所有可以附加到元素的事件处理程序,dreamweaver中没有显示并不意味着它不存在。记事本也没有显示任何东西,那么我们能说什么呢?