Php 如何在内部显示图像<;img>;标记始终为全尺寸

Php 如何在内部显示图像<;img>;标记始终为全尺寸,php,javascript,html,image,Php,Javascript,Html,Image,我有一个img元素,图像动态变化。我总是想展示这张图片的全维 所以,我认为,我必须动态地改变img标签中的宽度和高度属性 如何在php或javascript中实现这一点 只需去掉宽度和高度属性(以及样式)就可以了。如果你以后需要知道它,你可以从计算的CSS中获取它。如果没有宽度和高度尺寸,你不能吗?据我所知,如果不定义宽度和高度,浏览器将显示整个全尺寸图像。大多数现代浏览器都是如此。假设您关心alt、height和width属性(您应该这么做),那么从javascript数组读取图像属性可能非常

我有一个img元素,图像动态变化。我总是想展示这张图片的全维

所以,我认为,我必须动态地改变img标签中的宽度和高度属性


如何在php或javascript中实现这一点

只需去掉宽度和高度属性(以及样式)就可以了。如果你以后需要知道它,你可以从计算的CSS中获取它。

如果没有宽度和高度尺寸,你不能吗?据我所知,如果不定义宽度和高度,浏览器将显示整个全尺寸图像。大多数现代浏览器都是如此。

假设您关心alt、height和width属性(您应该这么做),那么从javascript数组读取图像属性可能非常适合您。下面是jQuery中插入随机图像的一个示例,您可以将随机图像逻辑交换为任何类型的幻灯片放映等,以便进行渲染

$(document).ready(function() {

  var imageArray = new Array ();
  imageArray[0] = new Array ( "jungle.jpg",   "http://rmportal.net", "Jungle", "400", "300");
  imageArray[1] = new Array ( "mountain.jpg", "http://rmportal.net", "Mountain" , "350", "290");
  imageArray[2] = new Array ( "ocean.jpg",    "http://rmportal.net", "Ocean" , "442", "530");

  var max = imageArray.length;
  var num = Math.floor((Math.random() * max));

  var hstring = "<a href='" + imageArray[num][1] + "'><img src='" + imageArray[num][0] + "' alt='" + imageArray[num][2] +  "' height='" imageArray[num][3] +  "' width='" + imageArray[num][4] + "' /></a>"

  $('#my-image').html(hstring);

});
$(文档).ready(函数(){
var imageArray=新数组();
imageArray[0]=新数组(“jungle.jpg”http://rmportal.net","丛林","400","300",;
imageArray[1]=新数组(“mountain.jpg”http://rmportal.net","山","350","290",;
imageArray[2]=新数组(“ocean.jpg”http://rmportal.net","海洋","442","530",;
var max=imageArray.length;
var num=Math.floor((Math.random()*max));
var hstring=“”
$(“#我的图像”).html(hstring);
});

如果您希望在HTML中保留
宽度
高度
属性,那么在PHP中,您需要GD库中的方法。

如果页面加载时图像的宽度和高度作为属性包含在源代码中, 第一次更改其源时,请使用
removeAttribute('width')
'height'


如果您不希望页面在缓慢下载过程中“崩溃”,请预加载图像并在
img之后更改src。complete
为true,如果缓存了该页面,或在启动图像onload后立即执行

+1您还可以使用
max width
max height
来防止太大的图像破坏布局。省略宽度和高度不会影响xhtml验证吗?@undersack,否,省略
alt
标记将生成警告,但是,规范不要求
高度
宽度
。尽管它们有助于浏览器提前了解,但可以根据适当的尺寸绘制页面,而无需先等待图像加载(并可能触发重新绘制)。