1. 程式人生 > >圖片預載入、佔位背景圖jquery plugin

圖片預載入、佔位背景圖jquery plugin

預載入圖片的外掛

/*
 * jQuery Rawr Sliding Container (RSC) v1.0 
 * Website: http://hungred.com
 * Demo Site: http://hungred.com/wp-content/demo/RSC/demo-RSC.html
 * Description: A simple sliding container that can be useful for you.
 * Contact: [email protected]
 * version 1.0
 * 
 * TERMS OF USE -  Rawr Sliding Container (RSC)
 * Open source under the MIT License. 
 * Copyright (c) 2009 Clay Lua Czee Yong
 * 
 * Permission is hereby granted, free of charge, to any person
 * obtaining a copy of this software and associated documentation
 * files (the "Software"), to deal in the Software without
 * restriction, including without limitation the rights to use,
 * copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following
 * conditions:
 * 
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 *  
 *
*/
(function($){
 $.fn.RSC= function(options) {

  var defaults = {
	prevImageID: "#prev",
	nextImageID: "#next",
	noOfContainer: 6,
	containerW: 500,
	duration: 1000
  };
  var op = $.extend(defaults, options);
  var pathObj = $('#container').children();
  var i = 0;
  
	function loadImg(url, obj, loading, msg)
	{
		$(loading).css({"display":"block"}).animate({opacity:1},1000);					//display the loading in progress image
		$(obj).html("<img src='"+url+"' width='500px' height='350px'/>").css({opacity: 0});	//throw in the image into the div block
		var tmp = $(obj).children();													//gets the image obj we just thrown in
			tmp[0].onload = function(){													//when the image has complete loaded
				$(obj).animate({opacity:1},1000);										//display the image
				$(loading).animate({opacity:0},1000).css({"display":"none"});				//hide the loading in progress image
			}
			tmp[0].onerror = function(){												//when the image fail to load for various reason
				$(this).css({"display":"none"});											//we hide the image that fail
				$(obj).html($(obj).html()+"<div>"+msg+"</div>").animate({opacity:1},1000);//provides a message to the user instead
				$(loading).animate({opacity:0},1000).css({"display":"none"});				//hide the loading in progress image
			}
	}
	function getImg(obj)
	{
		url = $(obj).css({"display":"block", "visibility":"visible"}).html();			//get the image url from the div block
		loaded = false;										//check whether image has been loaded
		if(url.search(/<.*/) != -1)							//search for opening tag, doing /'<img.*/>'/ doesn't work in IE7 and Opera somehow.
		{
			loaded=true;									//found opening tag, assume its loaded
			tmp = $(obj).children();						//get the img tag obj
			url = $(tmp[0]).attr("src");						//retrieve the url
			if(tmp[1] != undefined)							//check whether there is a second block in the children of the div block (this is added in loadImg when it fail)
				loaded = false;								//there is an error message, we try to load again
		}
		if(!loaded)
			loadImg(url,obj, "#loading", "there seems to be an issue, try again later");
	}
	getImg(pathObj[0]);
  return this.each(function() {
		
		$(this).click(function()
		{
			if(this.id==op.prevImageID.replace("#",""))
			{
				i++;
				if(i > 0)
				i=(0-(op.noOfContainer-1))
			}
			else if(this.id==op.nextImageID.replace("#",""))
			{
				i--;
				if(i<(0-(op.noOfContainer-1)))
				i=0;
			}
			$("div#container").animate({marginLeft: i*op.containerW+"px"},op.duration, function(){
			var imgObj = getImg(pathObj[0-i]);
			});
			
		});	
  });
 };
})(jQuery);


demo:https://hungred.com/wp-content/demo/jQuery-preloading-with-image/demo.html

圖片佔位、背景圖的plugin
http://holderjs.com/

相關推薦

圖片載入佔位背景jquery plugin

預載入圖片的外掛 /* * jQuery Rawr Sliding Container (RSC) v1.0 * Website: http://hungred.com * Demo Site: http://hungred.com/wp-content/demo/

layui圖片載入-loading佔位

前言     使用layui的圖片懶載入,發現未載入的圖片沒有loading佔位圖,顯示的是裂圖,看著不是很好。找了一些解決方法我統一記錄一下。 layui圖片懶載入使用方法 layui.use(’flow’, function(){ var flow = l

element ui el-carousel 滾動 vue 基於vue-lazyload圖片載入延遲載入 解決方案

vue-lazyload外掛github地址:https://github.com/hilongjw/vue-lazyload#requirements 效果是預設不載入圖片,先用一個佔位符圖來代替,等使用圖片的時再進行載入(比如滾動到圖片的時候),如果真正的圖片請求出錯了,用預設的出錯圖片

使用jquery.lazyload.js圖片載入(懶載入)遇到的問題,圖片載入不出來

1、在使用jquery.lazyload.js時,如果是資料直接在DOM節點直接渲染,並且圖片排列規則,使用方法: 給img標籤新增的屬性有: <img class="lazy" src="__TEMP__/{$style}/public/images/load

element ui el-carousel 滾動 vue 基於vue-lazyload圖片載入延遲載入 解決方案

效果是預設不載入圖片,先用一個佔位符圖來代替,等使用圖片的時再進行載入(比如滾動到圖片的時候),如果真正的圖片請求出錯了,用預設的出錯圖片來進行佔位 一、安裝外掛 $ npm install vue-lazyload --save 二、配置 //main.js

簡單的實現圖片覽, 通過原生ajax以及 jQuery兩種方法實現圖片覽,有更好的辦法可以留言喔................

XML HP OS image end php代碼 append sda ext 1.原生寫ajax實現圖片預覽:   結構:     <input type="file">       <img src="" > JavaScri

3圖片載入顯示和輸出

手動 默認 像素 pla 意思 opengl ports normal imread 一、關於opencv的命名空間 OpenCV中的C++類和函數都是定義在命名空間cv之內的,有兩種方法可以訪問。   (1)在代碼開頭的適當位置,加上usingnamespace cv;這

網頁中圖片載入的原理

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

css圖片載入

css  /* 預載入圖片,掛在body上 */ .preload-img:after{ content:""; background: url(../images/new/full_bg2.jpg) no-repeat -10000px -1000px; }

Vue 實現圖片裁剪並獲取被裁剪區域的base64(無元件)

前言     最近公司專案需要用到圖片裁剪技術,便著手寫了一個,可以說是用Vue實現的原生裁剪,畢竟也只是去操作dom,不過vue有個黑魔法,ref屬性,使用的方法和原生dom一模一樣但是更節省dom操作時的消耗 裁剪思路 這邊大致介紹一下裁剪圖片的思路

圖片載入的實現

圖片預載入說白了就是將所有所需的圖片提前請求載入到本地,這樣後面在需要用到時就直接從快取取圖片 。圖片預載入的原理很簡單:new Image(),然後使用onload方法回撥預載入完成事件,當瀏覽器把圖片下載到本地後,之後同樣的src就直接使用快取。 無序載入

載入載入(開發者模式)熱部署載入熱更新

熱部署:直接重新載入整個應用(生產環境),清空記憶體重新打包,重新解壓war包 熱載入:在執行時重新載入class(開發環境),基於位元組碼的更改,不釋放記憶體開發可用,上線不可用,熱載入不重啟tomcat,不重新打包 懶載入:延遲載入, 實現方法:先在頁面中

使用原生JavaScript實現圖片載入,方法簡單程式碼少

//===結構程式碼   <img  src="./loading.gif" /> //===首先在頁面顯示的是一個loading圖  當請求返回的時候把返回的圖片替換上去 //====js程式碼 let imgArr = [   './beautiful.jpg',   './beautiful

基於“formData批量上傳的多種實現” 的多圖片上傳的多種實現 formData批量上傳的多種實現

  前言   圖片上傳是web專案常見的需求,我基於之前的部落格的程式碼(請戳:formData批量上傳的多種實現)裡的第三種方法實現多圖片的預覽、上傳,並且支援三種方式新增圖片到上傳列表:選擇圖片、複製貼上圖片、滑鼠拖拽圖片,同時支援從上傳列表中移除圖片(點選“X”號)      效果演示   選擇

圖片載入使用loading動畫,再載入內容

<!--頁面載入start--> <link rel="stylesheet" type="text/css" href="http://love.chengxumiao.net/wp-content/themes/Zenith/css/loader.min

圖片載入的三個方法

利用CSS、JavaScript及Ajax實現圖片預載入的三大方法   預載入圖片是提高使用者體驗的一個很好方法。圖片預先載入到瀏覽器中,訪問者便可順利地在你的網站上衝浪,並享受到極快的載入速度。 這對圖片畫廊及圖片佔據很大比例的網站來說十分有利,它保證了圖片快速、無縫地釋出,也可幫助使用者

微信小程式的圖片載入處理

一、常規的頁面處理的時候,我們可以使用多種方式處理圖片預載入,但是這些方法在小程式中似乎就沒有        那麼好用了,所以,我們可以使用圖片的回撥函式進行圖片的預載入處理; 二、微信小程式的第一種情況是: 現在有A ,B 兩個頁面        在B 頁面中有 10

img.onload 實現圖片載入方法

例子: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <h

javascript圖片載入-解決圖片延遲響應慢

使用JavaScript改變圖片路徑時存在一個問題:當把新檔案的路徑交換到src屬性中時,瀏覽器必須下載該影象。如果等到某人把滑鼠游標移動到影象上之後才下載新影象,在新影象出現之前,可能會有一段不愉快的延遲。在導航欄的情況下,翻滾效果會令人感到遲緩而響應很慢。 為了避免這一

web圖片載入的幾種方式

類似H5和一些動畫元素都需要提前載入完一些圖片 如果圖片在使用之前就已經請求過了, 那麼再次使用的時候,就不會再去請求(ps:圖片路徑一樣)。 1.使用純的css進行圖片預載入