Heim Web-Frontend js-Tutorial js-Methode zur Nachahmung der Flow_Javascript-Fähigkeiten des Baidu-Wasserfalls

js-Methode zur Nachahmung der Flow_Javascript-Fähigkeiten des Baidu-Wasserfalls

May 16, 2016 pm 04:15 PM
js 方法 瀑布流

Das Beispiel in diesem Artikel beschreibt die Methode zur Verwendung von js zur Nachahmung des Baidu-Wasserfallflusses. Teilen Sie es als Referenz mit allen. Die spezifische Implementierungsmethode lautet wie folgt:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

<!DOCTYPE HTML>

<html>

<head>

<meta charset="utf-8">

<title>仿百度图片瀑布流</title>

<link rel="stylesheet" type="text/css" href="style.css">

<script src="js/jquery.min.js"></script>

<style>

*{margin:0; padding:0;}

#container{

width: 1000px;

border:1px solid #f00;

margin: 50px auto;

position: relative;

}

#container img{

position: absolute;

}

#loader{

width: 100%;

height: 60px;

background: url(loader.gif) no-repeat center;

position: fixed;

bottom: 0;

left: 0;

}

</style>

</head>

<script type="text/javascript">

$(function(){

 var oContainer=$('#container');

 var oLoader=$('#loader');

 var iWidth=200;//列宽

 var iSpace=10;//列数

 var iOuterWidth=iWidth+iSpace;

 var sUrl = 'localhost/api/json/popular?callback=?';

 var iCell=0;

 var iPage=0;

 var arrL=[];

 var arrT=[];

 var iBtn=true;

 

 function setCells(){

  iCell= Math.floor($(window).innerWidth()/iOuterWidth);

  if(iCell < 3){

   iCell =3;

  }

  if(iCell >6){

   iCell =6;

  }

  oContainer.css('width',iOuterWidth*iCell-iSpace);

 }

 setCells();

 for(var i=0;i < iCell; i++){

  arrL.push(i*iOuterWidth);

  arrT.push(0);

 }

 //console.log(arrL)

 getData()

 function getData(){

  if(iBtn){

   iBtn =false

   oLoader.show();

   $.getJSON(sUrl,'page='+iPage,function(data){

    $.each(data,function(i,obj){

     var $img =$('<img>');

     $img.attr('src',obj.preview);

     var iHeight= iWidth /obj.width * obj.height;

     var index=getMin();

     $img.appendTo(oContainer);

     $img.css({width:iWidth,height: iHeight});

     $img.css({top:arrT[index],left: arrL[index]})

     arrT[index]+=iHeight +10;

     oLoader.hide();

    })

    iPage++;

    iBtn=true;

   })

  }

 }

 $(window).on('resize',function(){

  var iOldCell= iCell;

  setCells();

  var iH = $(window).scrollTop()+$(window).innerHeight();

  var iMinIndex= getMin();

  if(arrT[iMinIndex]+oContainer.offset().top < iH){

   getData();

  }

  if(iOldCell == iCell) return ;

  arrT=[];

  arrL=[];

  for(var i=0;i < iCell; i++){

   arrL.push(i*iOuterWidth);

   arrT.push(0);

  }

  var $img = oContainer.find('img');

  $img.each(function(index,obj){

   var index=getMin();

   $(this).animate({top:arrT[index],left: arrL[index]})

   arrT[index]+=$(this).height() +10;

  })

 })

 $(window).on('scroll',function(){

  var iH = $(window).scrollTop()+$(window).innerHeight();

  var iMinIndex= getMin();

  if(arrT[iMinIndex]+oContainer.offset().top < iH){

   getData();

  }

 })

 function getMin(){

  var iv= arrT[0];

  var _index=0;

  for(var i=0; i<arrT.length; i++){

   if(arrT[i] < iv){

    iv= arrT[i];

    _index=i;

   }

  }

  return _index ;

 }

})

</script>

<body>

 <div id="top">仿百度图片瀑布流</div>

 <!--标题 e -->

 <div id="container"></div>

 <div id="loader"></div>

 <!--效果块 e -->

</body>

</html>

Nach dem Login kopieren

Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So schreiben Sie einen Roman in der Tomato Free Novel-App. Teilen Sie das Tutorial zum Schreiben eines Romans in der Tomato Novel-App So schreiben Sie einen Roman in der Tomato Free Novel-App. Teilen Sie das Tutorial zum Schreiben eines Romans in der Tomato Novel-App Mar 28, 2024 pm 12:50 PM

So schreiben Sie einen Roman in der Tomato Free Novel-App. Teilen Sie das Tutorial zum Schreiben eines Romans in der Tomato Novel-App

Wie lösche ich WeChat-Freunde? So löschen Sie WeChat-Freunde Wie lösche ich WeChat-Freunde? So löschen Sie WeChat-Freunde Mar 04, 2024 am 11:10 AM

Wie lösche ich WeChat-Freunde? So löschen Sie WeChat-Freunde

Wie rufe ich das BIOS auf dem Colorful-Motherboard auf? Bringen Sie Ihnen zwei Methoden bei Wie rufe ich das BIOS auf dem Colorful-Motherboard auf? Bringen Sie Ihnen zwei Methoden bei Mar 13, 2024 pm 06:01 PM

Wie rufe ich das BIOS auf dem Colorful-Motherboard auf? Bringen Sie Ihnen zwei Methoden bei

So stellen Sie gelöschte Kontakte auf WeChat wieder her (ein einfaches Tutorial erklärt Ihnen, wie Sie gelöschte Kontakte wiederherstellen) So stellen Sie gelöschte Kontakte auf WeChat wieder her (ein einfaches Tutorial erklärt Ihnen, wie Sie gelöschte Kontakte wiederherstellen) May 01, 2024 pm 12:01 PM

So stellen Sie gelöschte Kontakte auf WeChat wieder her (ein einfaches Tutorial erklärt Ihnen, wie Sie gelöschte Kontakte wiederherstellen)

Zusammenfassung der Methoden zum Erhalten von Administratorrechten in Win11 Zusammenfassung der Methoden zum Erhalten von Administratorrechten in Win11 Mar 09, 2024 am 08:45 AM

Zusammenfassung der Methoden zum Erhalten von Administratorrechten in Win11

Schneller Meister: So eröffnen Sie zwei WeChat-Konten auf Huawei-Handys! Schneller Meister: So eröffnen Sie zwei WeChat-Konten auf Huawei-Handys! Mar 23, 2024 am 10:42 AM

Schneller Meister: So eröffnen Sie zwei WeChat-Konten auf Huawei-Handys!

Detaillierte Erläuterung der Oracle-Versionsabfragemethode Detaillierte Erläuterung der Oracle-Versionsabfragemethode Mar 07, 2024 pm 09:21 PM

Detaillierte Erläuterung der Oracle-Versionsabfragemethode

Das Geheimnis des Ausbrütens mobiler Dracheneier wird gelüftet (Schritt für Schritt erfahren Sie, wie Sie mobile Dracheneier erfolgreich ausbrüten) Das Geheimnis des Ausbrütens mobiler Dracheneier wird gelüftet (Schritt für Schritt erfahren Sie, wie Sie mobile Dracheneier erfolgreich ausbrüten) May 04, 2024 pm 06:01 PM

Das Geheimnis des Ausbrütens mobiler Dracheneier wird gelüftet (Schritt für Schritt erfahren Sie, wie Sie mobile Dracheneier erfolgreich ausbrüten)

See all articles