利用javascript解决图片缩放及其优化的代码_图象特效
一个客户跟我联系说,刚给他做的网站,显示不正常,我顿时一紧张,这是我独立完成的第一个项目,于是赶紧打开他的网站看了看,没看出什么不正常来。我又问他怎么不正常,他说和交接项目时的效果不一样,晕,交接时要是不正常,项目肯定交接不了啊,干脆让他截个图过来。果然不正常,是他刚上传的一张图片把显示内容的窗口撑开了。查看代码,明明写好了max-width,怎么还会出现这种情况。突然发现他发来的图上,那个浏览器看着不顺眼,像是古老的而神圣的IE6!经过确认,果然是它,又是它!我真是疏忽,没给他在IE6下测试就交工了。
说起IE6,真是让我们这些做前端的人又恨又无奈,许多属性都不支持。可不少用户还在用它,我们也不能无视。为了兼容,我只好跟同事请教了一下,然后针对IE6用js缩放来显示图片并进行了一些细节上的优化。
尽管今天的这个客户网站比较小,对网站性能的要求也不高,但考虑以后可能还会用到这些东西,做优化是个长期学习的过程,我查阅了一些文章,说是如果利用img标签的onload方法来调用函数进行尺寸的修改,对性能的影响比较大,另外,利用 -expression 行为似乎也不可取(以后继续求证吧),所以,最后是采用页面加载时触发。
function resizeImage(img,width){
var image=new Image();
image.src=img.src;
var temp = image.width;
img.width = temp = (temp>width)?width:temp;
img.style.display = "inline";
}
function doResize(){
if($.browser.version==6&&$.browser.msie) $("img").each(function(){resizeImage(this,100)});
}
window.onload = doResize;
这段代码利用resizeImage函数判断,并且修改img.width属性,原理比较简单,在这段代码前面我还加了一个对IE6浏览器的判定,除了它以外,我还是让CSS搞定图片的尺寸。我在代码中没有定义图片的高和宽的数值,这样在缩放时,只要修改其中的一个数值,让另一个数值去自适应,而不是让js去执行等比缩放,这也算是一点点优化吧。我在代码中引用了Jquery(因为习惯了),你没必要这样做,我之所以这么写,是在DOM元素返回以后可以统一进行函数处理。考虑到客户经常会使用外链的图片,这时,网页的显示速度就受到图片源的影响,所以在页面加载时我先利用CSS把需要显示的图片隐藏,直到图片缩放后再利用js的方法显示图片,因此,又对IE6做了个hack:
img{
display:inline !important;
display:none;
max-width:180px;
}

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment implémenter la fonction de vignette d'image en JavaScript ? Lorsque nous affichons des images sur une page Web, nous devons parfois réduire la grande image originale pour répondre aux exigences de mise en page de la page, ce qui nécessite l'utilisation de la fonction de vignette d'image. En JavaScript, nous pouvons implémenter la fonction vignette de l'image via les méthodes suivantes : Utilisez HTML pour définir directement la largeur et la hauteur de l'image. Le moyen le plus simple est de définir directement les attributs de largeur et de hauteur de l'image en HTML pour obtenir l'objectif. effet vignette. Par exemple :&l

Comment utiliser CSS pour obtenir l'effet de zoom des images Dans la conception Web, l'effet de zoom des images est l'une des exigences courantes. Grâce aux propriétés et techniques associées de CSS, nous pouvons facilement obtenir l'effet de zoom des images. Ci-dessous, nous présenterons en détail comment utiliser CSS pour obtenir l'effet de zoom des images et donnerons des exemples de code spécifiques. Utilisez l'attribut transform pour implémenter la mise à l'échelle matricielle des images. L'attribut transform nous permet de transformer des éléments en les faisant pivoter, en les mettant à l'échelle, en les inclinant ou en les traduisant. Parmi eux, la transformation d'échelle consiste à réaliser l'image

Comment implémenter des effets de mise à l'échelle d'image et de loupe dans Vue ? Avec le développement continu de la technologie Web, les utilisateurs ont des exigences de plus en plus élevées en matière d'effets d'affichage des images sur les sites Web. Parmi eux, le zoom d’image et les effets de loupe sont des exigences relativement courantes. Il est relativement simple d'implémenter des effets de mise à l'échelle d'image et de loupe dans Vue. Ensuite, je présenterai en détail la méthode d'implémentation spécifique. 1. Méthode de base Voyons d’abord comment obtenir l’effet de mise à l’échelle de base de l’image. La méthode d'implémentation est simple, utilisez simplement les instructions intégrées de Vue

Le meilleur moyen de mettre à l'échelle une image à l'aide des bibliothèques PHP et GD Ces dernières années, avec la popularité d'Internet, le traitement d'image est devenu l'une des fonctions nécessaires pour de nombreux sites. En tant qu'exigence la plus courante en matière de traitement d'image, la mise à l'échelle de l'image doit pouvoir redimensionner la taille de l'image proportionnellement sans perte de qualité de l'image pour s'adapter aux différents besoins d'affichage. En tant que langage de programmation côté serveur courant, PHP possède une multitude de bibliothèques de traitement d’images, dont la plus couramment utilisée est la bibliothèque GD. La bibliothèque GD fournit une interface simple et puissante qui peut être utilisée pour gérer diverses opérations sur les images.

Comment utiliser PHP pour développer des fonctions simples de mise à l'échelle et de recadrage d'images Résumé : Le traitement d'images est une exigence courante dans le développement Web. Cet article présentera comment utiliser PHP pour développer des fonctions simples de mise à l'échelle et de recadrage d'images et fournira des exemples de code spécifiques. En étudiant cet article, les lecteurs peuvent comprendre comment utiliser PHP pour implémenter des fonctions de base de traitement d'image dans les applications Web. 1. Introduction au contexte Dans le développement Web, nous devons parfois redimensionner ou recadrer les images pour les adapter à différentes mises en page ou répondre à des besoins spécifiques. PHP comme

Comment utiliser HTML, CSS et jQuery pour implémenter la fonction avancée de mise à l'échelle des images Introduction : Dans la conception Web moderne, la beauté et l'adaptabilité des images sont très importantes. Cependant, l’affichage d’images conventionnel ne peut souvent pas répondre à nos besoins. Dans cet article, nous expliquerons comment utiliser HTML, CSS et jQuery pour implémenter certaines fonctions avancées de zoom d'image. Grâce à ces technologies, nous pouvons obtenir des effets de mise à l'échelle d'image personnalisés et ajouter plus d'interactivité à nos pages Web. Étape 1 : balisage HTML Tout d'abord, nous avons besoin d'un

Techniques de mise en page CSSPositions pour la mise à l'échelle des images Dans la conception Web, la mise à l'échelle des images est l'une des exigences courantes. Grâce à la mise en page CSSPositions, nous pouvons obtenir l'effet de zoom des images et ajouter une meilleure expérience visuelle à la page Web. Cet article présentera quelques techniques et donnera des exemples de code spécifiques. Utilisez l'attribut position pour définir la position d'une image : En CSS, vous pouvez utiliser l'attribut position pour définir la façon dont un élément est positionné. En définissant l'attribut de position sur "re

Conseils et méthodes pour utiliser CSS pour obtenir des effets de bulles d'image Dans la conception Web, l'ajout d'effets spéciaux aux images est l'un des moyens importants pour améliorer l'expérience utilisateur. Parmi eux, les effets de bulles d’images peuvent ajouter de l’intérêt et de l’interactivité aux images, rendant ainsi le contenu Web plus attrayant. Cet article partagera quelques conseils et méthodes pour utiliser CSS pour obtenir des effets de bulles d'image, avec des exemples de code spécifiques. Utiliser des éléments de pseudo-classe pour créer des effets de bulle En utilisant des éléments de pseudo-classe CSS, nous pouvons ajouter un effet de bulle au-dessus de l'image. La méthode spécifique consiste à définir le pseudo classificateur
