Я опытный программист базы данных/приложений для ПК. Я также неосведомленный html/javascript/веб-программист.Как я могу контролировать размер изображения
Я создаю документацию о некоторых сборках .NET для нашей интрасети. В идеале я хотел бы отображать изображение в полном размере, если окно браузера может соответствовать ему. Если нет, то я хотел бы уменьшить его и переключиться между малой версией и полноразмерной версией одним щелчком. Это диаграмма зависимостей и может быть разных размеров для разных страниц. Я бы предпочел, чтобы одна функция справлялась с этим, но поскольку это для нашего использования, ни одно из требований, о которых я упоминал, не установлено в камне. Я бы хотел, чтобы он работал хорошо, но ничего не обязательно.
Я прочитал много нового, но не смог найти ничего, что соответствовало бы тому, что я хотел. Сначала я попробовал это (после нескольких итераций):
<img src='Dependancy Charts/RotairAORFQ.png' width='100%' onclick='this.src="Dependancy Charts/RotairAORFQ.png";this.width=this.naturalWidth;this.height=this.naturalHeight;' ondblclick='this.src="Dependancy Charts/RotairAORFQ.png";this.width="100%";'>
У этого есть проблемы. Сначала он увеличивает небольшое изображение, и это выглядит забавно. Во-вторых, мне пришлось бы вводить код на каждую страницу. В-третьих, для его восстановления требуется двойной щелчок. Я собирался жить с этими короткими сообщениями, но двойной щелчок не удался. Я не могу понять, как его восстановить.
Итак, я попытался получить фантазию. Я не мог понять, как решить проблему 1, но решил 2 и 3, создав функцию в отдельном файле. Затем я столкнулся с тем, что, похоже, было той же проблемой. Это была моя вторая попытка:
function ImageToggle(Image)
{
if (ImageToggle.FullSize == 'undefined')
ImageToggle.FullSize = false;
if (ImageToggle.FullSize)
{
Image.width='100%';
ImageToggle.FullSize = false;
}
else
{
Image.width=Image.naturalWidth;
ImageToggle.FullSize = true;
}
return 0
}
И в моей странице:
<img src='Dependancy Charts/RotairAORFQ.png' width='100%' onclick='ImageToggle(this)'>
Может то, что я хочу сделать? Это не кажется невозможным. Если потребуется большое количество усилий, то альтернативные предложения приемлемы.
вы не пытаетесь контролировать размер IMG в CSS? –
Вы не могли бы использовать большое изображение во всех случаях и масштабировать его, используя запрос css media на экране max-width? если вам нужно щелкнуть, чтобы изменить размер, вы должны иметь возможность добавлять или вычитать класс по клику, который подталкивает изображение к любому размеру, заданному классом в вашем CSS. –
Нет. Как вы это делаете на событии клика? И как получить текущий размер окна браузера в CSS? –