Skip to content

Instantly share code, notes, and snippets.

@Janking
Created June 9, 2015 14:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Janking/874511f45cde4968eda9 to your computer and use it in GitHub Desktop.
Save Janking/874511f45cde4968eda9 to your computer and use it in GitHub Desktop.
代理模式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
var arr = [
'http://e.hiphotos.baidu.com/image/pic/item/e61190ef76c6a7ef023c23e9fffaaf51f2de66e3.jpg',
'http://b.hiphotos.baidu.com/image/pic/item/c83d70cf3bc79f3df9df6fffb8a1cd11738b29c6.jpg',
'http://e.hiphotos.baidu.com/image/pic/item/11385343fbf2b21137200e81c88065380dd78ef7.jpg',
'http://h.hiphotos.baidu.com/image/pic/item/fc1f4134970a304ed2c12835d3c8a786c8175c1a.jpg',
'http://h.hiphotos.baidu.com/image/pic/item/a044ad345982b2b77f91b20b33adcbef77099bf7.jpg',
'http://b.hiphotos.baidu.com/image/pic/item/d788d43f8794a4c26c366ce40cf41bd5ac6e39e3.jpg',
'http://f.hiphotos.baidu.com/image/pic/item/9e3df8dcd100baa1c8cecf744510b912c9fc2e1a.jpg',
'http://a.hiphotos.baidu.com/image/w%3D230/sign=c8f46fffb8a1cd1105b675238913c8b0/d01373f082025aaf9427f504f9edab64024f1ae3.jpg',
]
</script>
</head>
<body>
<script type="text/javascript">
var myImage = function() {
var imgNode = document.createElement('img');
document.body.appendChild(imgNode);
return imgNode;
};
var proxyImg = function(target) {
console.log(arguments);
var img = new Image;
img.onload = function() {
target.src = this.src;
}
return {
setSrc:function(src){
target.src = 'loading.gif';
img.src = src;
}
}
};
proxyImg(myImage()).setSrc(arr[0]);
proxyImg(myImage()).setSrc(arr[1]);
proxyImg(myImage()).setSrc(arr[2]);
proxyImg(myImage()).setSrc(arr[3]);
proxyImg(myImage()).setSrc(arr[4]);
proxyImg(myImage()).setSrc(arr[5]);
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment