是否可以src在CSS中设置属性值?目前,我正在做的是:
<img src="pathTo/myImage.jpg"/>
Run Code Online (Sandbox Code Playgroud)
我希望它是这样的
<img class="myClass" />
Run Code Online (Sandbox Code Playgroud)
.myClass {
some-src-property: url("pathTo/myImage.jpg");
Run Code Online (Sandbox Code Playgroud)
我想这样做而不使用CSS中的background或background-image:属性.
我已经构建了一个图像滑块(基于极好的bxSlider),它会在滑入视图之前及时预加载图像.它已经很好用,但我不认为我的解决方案是有效的HTML.
我的技术如下:我生成滑块标记,第一张幻灯片图像像往常一样插入(带有<img src="foo.jpg">),后续图像在数据属性中被引用<img data-orig="bar.jpg">.然后Javascript data-orig -> src在必要时调整更改,触发预加载.
换句话说,我有:
<div class="slider">
<div><img src="time.jpg" /></div>
<div><img src="data:" data-orig="fastelavn.jpg" /></div>
<div><img src="data:" data-orig="pels_strik.jpg" /></div>
<div><img src="data:" data-orig="fashion.jpg" /></div>
</div>
Run Code Online (Sandbox Code Playgroud)
为了避免空src=""属性(在某些浏览器中对性能有害),我插入了有效插入空白图像作为占位符.src="data:"
问题是,我似乎无法在文档中找到data-URI来说明这是否是一个有效的数据URI.我基本上想要解析为空白/透明图像的最小数据URI,因此浏览器可以立即解析src并继续(没有错误或网络请求).也许src="data:image/gif;base64,"会更好?
我正在使用ng-src指令,以避免浏览器在Angular评估表达式之前请求图像.
ng-src={{image}}如果表达式"image"发生变化,将更新图像的src属性.我误解了为什么如果表达式("myImage.png")变空(""),ng-src指令不会更新图像的路径.
当表达式变空时,ng-src属性变为空,但src属性仍然是最后一个已知的src.所以它不会更新图像.为什么src属性没有更新(到空src),以便图像"消失".
这是一个掠夺者
谢谢
我想将图像设置为空.通过做src=""很多人说它可能会给浏览器带来问题:
http://www.nczonline.net/blog/2009/11/30/empty-image-src-can-destroy-your-site/
所以我不确定下面是否可以面对与将src设置为空相同的问题:
<img id="myImage">
Run Code Online (Sandbox Code Playgroud)
因为在这种情况下没有src属性.
所以,如果我想最初将图像设置为空,那么我能做的最好的是什么?
我在Internet Explorer中遇到一些javascript问题.
它在其他浏览器中工作正常.
我有以下方法,它更改图像的src属性,当发生这种情况时,应该开始下载该图像.见下文:
for (var i = 0; i < imagesStartedDownloading.length; i++) {
if (imagesStartedDownloading[i] == false && responseItems[i] == true) {
console.log("image", i);
var url = baseurl + "/ImageDownload/?imageName=" + hash + "_" + imageDegrees[i] + ".jpg" + "&r=" + Math.random();
imagesStartedDownloading[i] = true;
images.eq(i).attr("src", url);
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,在更改此属性时,Internet Explorer会启动无限循环的下载图像.请注意,我已在for循环中放入了console.log.我可以确认这个for循环不会在endles循环中运行.它只对每个应下载的图像运行一次.所以这不是问题.
这个行为实际上可以在这个页面上看到:http://www.energy-frames.dk/Konfigurator.点击F12并检查网络选项卡.在主页上更改图像,以便开始下载新图像,例如Bredde(英文宽度),见下文:
当进行此更改时,新图像将以无限循环方式下载(几乎每次都在IE中发生).请参阅下面您可以更改的内容
我真的花了很多时间调试这个,我不明白为什么它在IE中表现得像这样,但在其他所有浏览器中都没有.
所以有人知道为什么会这样吗?或者对我可以尝试的内容有一些建议?编辑:
@gxoptg我试过你的建议.像这样使用"javascript:void 0":
var newimg = $("<img class='rotator" + (isMainImage ? " active" : "") + "' src='javascript:void 0' />");
Run Code Online (Sandbox Code Playgroud)
还有这个: …
基本上标题是什么.
我正在制作一个html页面,并使用图像进行链接.但是,如果找不到指定的文件,我可以将图像显示为默认图标吗?