zoukankan      html  css  js  c++  java
  • php/mysql/jquery实现各系统流行的瀑布流显示方式,实现很简单的哈!!!!

    大家在用这个东西的时候一定要计得有这么几个文件,一个是jquery.js 还有就是你自己数据库的密码。和相对应的图片才可以正常看到效果。下面就是这里所有的代码!!!

    HTML文件:waterfall.html

     

     

      1 View Code 
      2  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      3  <html xmlns="http://www.w3.org/1999/xhtml">
      4  <head>
      5  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      6  <title>瀑布流-Derek</title>
      7  <script type="text/javascript" language="javascript" src="jquery.js"></script>
      8  <link type="text/css" rel="stylesheet" href="waterfall.css" />
      9  <script type="text/javascript" language="javascript" src="waterfall.js"></script>
     10  </head>
     11  <body>
     12  
     13      <ul id="stage">
     14          <li></li>
     15          <li></li>
     16          <li></li>
     17          <li></li>
     18      </ul>
     19  
     20  </body>
     21  </html>
     22 /*
     23  *  Javascript文件:waterfall.js
     24  */
     25 $(function(){
     26      jsonajax();
     27  });
     28  
     29  //这里就要进行计算滚动条当前所在的位置了。如果滚动条离最底部还有100px的时候就要进行调用ajax加载数据
     30  $(window).scroll(function(){    
     31      //此方法是在滚动条滚动时发生的函数
     32      // 当滚动到最底部以上100像素时,加载新内容
     33      var $doc_height,$s_top,$now_height;
     34      $doc_height = $(document).height();        //这里是document的整个高度
     35      $s_top = $(this).scrollTop();            //当前滚动条离最顶上多少高度
     36      $now_height = $(this).height();            //这里的this 也是就是window对象
     37      if(($doc_height - $s_top - $now_height) < 100) jsonajax();    
     38  });
     39  
     40  
     41  //做一个ajax方法来请求data.php不断的获取数据
     42  var $num = 0;
     43  function jsonajax(){
     44      
     45      $.ajax({
     46          url:'data.php',
     47          type:'POST',
     48          data:"num="+$num++,
     49          dataType:'json',
     50          success:function(json){
     51              if(typeof json == 'object'){
     52                  var neirou,$row,iheight,temp_h;
     53                  for(var i=0,l=json.length;i<l;i++){
     54                      neirou = json[i];    //当前层数据
     55                      //找了高度最少的列做添加新内容
     56                      iheight  =  -1;
     57                      $("#stage li").each(function(){
     58                          //得到当前li的高度
     59                          temp_h = Number($(this).height());
     60                          if(iheight == -1 || iheight >temp_h){
     61                              iheight = temp_h;
     62                              $row = $(this); //此时$row是li对象了
     63                          }
     64                      });
     65                      $item = $('<div><img src="'+neirou.img+'" border="0" ><br/>'+neirou.title+'</div>').hide();
     66                      $row.append($item);
     67                      $item.fadeIn();
     68                  }
     69              }
     70          }
     71      });
     72  }
     73 
     74 /*
     75  *  CSS文件:waterfall.css
     76  */
     77 
     78 body{text-align:center;}
     79 /*Download by http://www.codefans.net*/
     80 #stage{ margin:0 auto; padding:0; 880px; }
     81 #stage li{ margin:0; padding:0; list-style:none;float:left; 220px;}
     82 #stage li div{ font-size:12px; padding:10px; color:#999999; text-align:left; }
     83 
     84 
     85 /*
     86  *  php文件:data.php
     87  */
     88 <?php
     89  $link = mysql_connect("localhost","root","");
     90  $sql = "use waterfall";
     91  mysql_query($sql,$link);
     92  $sql = "set names utf8";
     93  mysql_query($sql,$link);
     94  $num = $_POST['num'] *10;
     95  if($_POST['num'] != 0) $num +1;
     96  $sql = "select img,title from content limit ".$num.",10";
     97  $result = mysql_query($sql,$link);
     98  $temp_arr = array();
     99  while($row = mysql_fetch_assoc($result)){
    100      $temp_arr[] = $row;
    101  }
    102  $json_arr = array();
    103  foreach($temp_arr as $k=>$v){
    104      $json_arr[]  = (object)$v;
    105  }
    106  //print_r($json_arr);
    107  echo json_encode( $json_arr );
  • 相关阅读:
    npm ci命令解析
    performance分析
    mpvue 引入直播功能
    lodash按需加载
    React生命周期分析
    vue 项目打包优化(远不止dll)
    Git 底层数据结构和原理
    Docker 部署 Nuxt.js 项目
    TMS320DM642调试出现#10247-D creating output section ".capChaACrSpace" without a SECTIONS 解决办法
    TMS320DM642的emif(外部存储器接口)的结构设置
  • 原文地址:https://www.cnblogs.com/ymj0906/p/2992652.html
Copyright © 2011-2022 走看看