Javascript 仅使某些图像流动
这个代码来自这里 它从一个页面中获取所有图像,并使其流动。它非常有效,我相信你们中的许多人已经知道了 我的问题是如何通过ID或类将此代码仅应用于页面上的某些图像。大概是这样的:Javascript 仅使某些图像流动,javascript,Javascript,这个代码来自这里 它从一个页面中获取所有图像,并使其流动。它非常有效,我相信你们中的许多人已经知道了 我的问题是如何通过ID或类将此代码仅应用于页面上的某些图像。大概是这样的: <img alt="" src="fluid_image.png" id="makeitfuild"/> 我不希望我所有的图片都是流畅的,但我仍然希望使用代码来处理某些图片 请帮助我,因为我不知道我需要在代码中修改什么 var imgSizer = { Config : {
<img alt="" src="fluid_image.png" id="makeitfuild"/>
我不希望我所有的图片都是流畅的,但我仍然希望使用代码来处理某些图片
请帮助我,因为我不知道我需要在代码中修改什么
var imgSizer = {
Config : {
imgCache : []
,spacer : "/path/to/your/spacer.gif"
}
,collate : function(aScope) {
var isOldIE = (document.all && !window.opera && !window.XDomainRequest) ? 1 : 0;
if (isOldIE && document.getElementsByTagName) {
var c = imgSizer;
var imgCache = c.Config.imgCache;
var images = (aScope && aScope.length) ? aScope : document.getElementsByTagName("img");
for (var i = 0; i < images.length; i++) {
images.origWidth = images.offsetWidth;
images.origHeight = images.offsetHeight;
imgCache.push(images);
c.ieAlpha(images);
images.style.width = "100%";
}
if (imgCache.length) {
c.resize(function() {
for (var i = 0; i < imgCache.length; i++) {
var ratio = (imgCache.offsetWidth / imgCache.origWidth);
imgCache.style.height = (imgCache.origHeight * ratio) + "px";
}
});
}
}
}
,ieAlpha : function(img) {
var c = imgSizer;
if (img.oldSrc) {
img.src = img.oldSrc;
}
var src = img.src;
img.style.width = img.offsetWidth + "px";
img.style.height = img.offsetHeight + "px";
img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')"
img.oldSrc = src;
img.src = c.Config.spacer;
}
// Ghettomodified version of Simon Willison's addLoadEvent() -- http://simonwillison.net/2004/May/26/addLoadEvent/
,resize : function(func) {
var oldonresize = window.onresize;
if (typeof window.onresize != 'function') {
window.onresize = func;
} else {
window.onresize = function() {
if (oldonresize) {
oldonresize();
}
func();
}
}
}
}
var imgSizer={
配置:{
imgCache:[]
,间隔符:“/path/to/your/spacer.gif”
}
,collate:function(aScope){
var isOldIE=(document.all&&!window.opera&&!window.XDomainRequest)?1:0;
if(isOldIE&&document.getElementsByTagName){
var c=imgSizer;
var imgCache=c.Config.imgCache;
var images=(aScope&&aScope.length)?aScope:document.getElementsByTagName(“img”);
对于(var i=0;i
您需要更改以下行:
var images = (aScope && aScope.length) ? aScope : document.getElementsByTagName("img");
通过类名获取图像的内容。有几种方法可以做到这一点:您可以使用jQuery,在这种情况下,它会变得简单
var images = (aScope && aScope.length) ? aScope : $("#myClassName");
或者,您可以查找关于如何仅使用javascript通过类获取元素的任何问题(这两个问题都会很快浮现在脑海中)。感谢您的建议,我对代码和类进行了更改,并将其更改为一个图像,但它仍然使所有图像都变得有用,不管我是否申请这个课程。还有什么我必须改变的吗?@RaduS我很惊讶你接受了我的解决方案。根据你的评论,它似乎对你不起作用。你是如何解决你的问题的?(尽管我很感激获得声誉,但如果答案不起作用,你没有义务接受。)