Ich habe eine Webseite, die ein großes Bild für den Hintergrund verwendet. Ich hatte gehofft, jQuery zu benutzen, um das Bild zu laden, sobald es heruntergeladen wurde (im Grunde die Art, wie bing.com sein Hintergrundbild lädt). Ist das mit jQuery möglich? Wenn ja, gibt es ein Plugin, das du empfehlen würdest?Fading in einem Hintergrundbild
Antwort
Diese article kann u süchtig. Kopieren von dort:
HTML
<div id="loader" class="loading"></div>
CSS
DIV#loader {
border: 1px solid #ccc;
width: 500px;
height: 500px;
}
/**
* While we're having the loading class set.
* Removig it, will remove the loading message
*/
DIV#loader.loading {
background: url(images/spinner.gif) no-repeat center center;
}
Javascript
// when the DOM is ready
$(function() {
var img = new Image();
// wrap our new image in jQuery, then:
$(img)
// once the image has loaded, execute this code
.load(function() {
// set the image hidden by default
$(this).hide();
// with the holding div #loader, apply:
$('#loader')
// remove the loading class (so no background spinner),
.removeClass('loading')
// then insert our image
.append(this);
// fade our image in to create a nice effect
$(this).fadeIn();
})
// if there was an error loading the image, react accordingly
.error(function() {
// notify the user that the image could not be loaded
})
// *finally*, set the src attribute of the new image to our image
.attr('src', 'images/headshot.jpg');
});
Sie können das Bild zuerst laden und dann, wenn es fertig geladen ist, als Hintergrundbild festlegen. Auf diese Weise lädt der Browser (hoffentlich) das Hintergrundbild aus dem Cache, anstatt es neu zu laden. Wie Sie es als Plugin angefordert:
$.fn.smartBackgroundImage = function(url){
var t = this;
//create an img so the browser will download the image:
$('<img />')
.attr('src', url)
.load(function(){ //attach onload to set background-image
t.each(function(){
$(this).css('backgroundImage', 'url('+url+')');
});
});
return this;
}
Benutzen Sie es wie folgt aus:
$('body').smartBackgroundImage('http://example.com/image.png');
Vielen Dank, aber wie kann ich das Hintergrundbild einblenden lassen ? – desbest
Hier ist ein Weg. In document.ready: '$ ('') .attr ('src', url) .load (funktion() { \t \t $ ('# yourContainerDiv'). Css ('backgroundImage', 'url (' images /dein Bild.png ')'); \t \t $ ('# yourContainerDiv'). FadeIn ('langsam'); \t}); }); 'Entschuldigung für die Formatierung. Fügen Sie Ihren Editor ein, um ihn zu lesen. Keine Code-Blöcke in Kommentaren erlaubt. –
Sie nicht CSS Hintergrundbilder verwenden können, weil es ein Ereignis zu befestigen, um das Laden der Bilder unmöglich ist (Soweit ich weiss).
Also werde ich es versuchen, aber noch nicht getestet:
HTML:
<body>
<div class="bgimage"><img src="/bgimage.jpg" ></div>
<div>
... content ...
</div>
</body>
CSS:
.bgimage { position: absolute: }
Javascript:
$(function() {
$(".bgimage")
.css("opacity",0);
.load(function() { $(this).fadeIn(); });
});
Sie können gehen mit der folgende Trick, sorry wenn es ein bisschen schmutzig ist.
Script:
jQuery.preloadImages = function() {
for (var i = 0; i < arguments.length; i++) {
jQuery("<img>").attr("src", arguments[i]);
$('.box1').attr('preloadURL', arguments[0]);
}
}
$.preloadImages("sky.jpg");
$(document).ready(function() {
if ($('.box1').attr('preloadURL') == 'sky.jpg') {
$('.box1').css({ 'background-image': 'url(sky.jpg)' },$('.box1').fadeIn(1000));
}
});
Markup:
<div class="Content">
<label>Search Bing</label>
<input type="text" />
<input type="button" value="search" />
</div>
<div class="box1"></div>
css:
.box1 {background-repeat:no-repeat; width:800px; height:600px; display:none; position:relative;}
.Content { position:absolute; left:20px; top:20px; z-index:100;}
.Content label { color:White;}
hoffe, das hilft
Eine kleine Probe auf: http://xgreen.co.uk/test.htm
- 1. Fading externe Bilder in einem Array
- 2. Fading Bildergalerie
- 3. Android Studio Fading Splash in Main
- 4. Farbverlauf mit Fading in CSS
- 5. Fading Neueste Nachrichten Ticker
- 6. JPanel mit einem Hintergrundbild
- 7. LinearLayout Fading-Effekt Inhalt
- 8. jQuery Fading Deckkraft Problem
- 9. Fading Bilder - Argument Fehler
- 10. Fading Tabs mit Jquery
- 11. Fading Farben mit jquery?
- 12. Animierte Fading-Effekt CSS
- 13. JQuery Hintergrundbild Fading-Funktion verursacht hohe CPU-Auslastung auf Chrome und Opera
- 14. Animationen: Sliding & Fading-Steuerelemente auf einem C# -Formular (winforms)
- 15. Fading der UIColor mit einem Button Drücken Sie
- 16. IE 8 und Text Fading
- 17. CSS-Übergänge: Rahmen statt Fading
- 18. Fading Farbe in einer Schleife mit C#
- 19. Deaktivierung des dunklen Fading in der Navigationsschublade
- 20. jQuery: Ersetzen Fading mit Schiebe
- 21. CSS3 Fading haben falsche Aktion
- 22. jquery highlight fading - timeout problem
- 23. Fading den Hintergrund während des Schwebens
- 24. Set Hintergrundbild von einem CSS-Elemente
- 25. NativeScript Vollbild Hintergrundbild von einem Bildobjekt
- 26. SVG-Pfadelement mit einem Hintergrundbild füllen
- 27. Größe eines Div basierend auf einem Hintergrundbild
- 28. Wie mache ich TextView mit Fading Edge?
- 29. Fading Sichtbarkeit des Elements mit jQuery
- 30. Verwenden von jQuery .hide() mit Fading
http://www.techerator.com/2010/11/how-to-make-a-css-background-slideshow-with-jquery/ funktioniert – TFD