Advertisement
terorama

slider / slider.php

Aug 21st, 2012
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. <?php
  3.  
  4. session_start();
  5. session_destroy();
  6. session_commit();
  7.      
  8. session_start();
  9.  
  10. $_SESSION["startpic"]=1;
  11.  
  12. ?>
  13.  
  14. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  15. <html xmlns="http://www.w3.org/1999/xhtml">
  16. <head>
  17.  
  18.    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  19.    <meta http-equiv="Cache-Control" content="no-cache" />
  20.    
  21.    <meta name="description" content="Упражнение по PHP,JQuery - слайдер" />
  22.    <meta name="keywords" content="php,html,css,javascript,jquery" />
  23.    
  24.       <title>Упражнение по PHP,JQuery - слайдер</title>
  25.    
  26.    <script type="text/javascript" src="js/jquery-1.7.2.js"></script>
  27.    
  28. <!--------------------------------------------------------------------->
  29. <script type="text/javascript">
  30. (function($) {
  31.  
  32.    ZSlider = function (options) {
  33.    
  34.       var my=this;
  35.       var loading=false;
  36.       //----------------------------------
  37.       this.defaults = {
  38.          targetID: 'inslider',
  39.          ajax_url: '',
  40.          ajax_comm: []
  41.          
  42.       }
  43.       //----------------------------------FTG
  44.      
  45.       this.init = function (options) {
  46.          my.options= $.extend(true,{}, my.defaults,options);
  47.          
  48.          this.targetDiv=$('#'+this.options.targetID);
  49.          
  50.          this.Tracer.init();         
  51.          my.wr=function(instr) {this.Tracer.wr(instr);};
  52.          
  53.          this.drawblocks();
  54.          
  55.          this.Scroller.init();
  56.          
  57.          //this.append_pictures();
  58.       }
  59.      
  60.       //-------------------------draw main structure FTG
  61.       this.drawblocks = function () {
  62.      
  63.          var clDiv=$('<div>', {'id':'zclose', 'css':{'clear':'both'}});
  64.          
  65.          this.targetDiv.append(clDiv);
  66.       }
  67.      
  68.       //----------------------------ajax request     
  69.       this.ajax_request = function (param, f3) {
  70.      
  71.          $.ajax ( {
  72.             type: 'POST',
  73.             url:  this.options.ajax_url,
  74.             data: param
  75.          }
  76.          ).done(
  77.             function(html) {
  78.                f3.statEl.ajax_result=f3.show(html);
  79.                my.wr('finished: '+f3.statEl.testb);
  80.                my.loading=false;
  81.             }
  82.          )
  83.       }
  84.      
  85.       //----------------------append pictures
  86.       this.append_pictures = function () {
  87.      
  88.          //var targ= new Object();
  89.          //var stat={};
  90.          if (this.loading) {
  91.             this.wr('load attempt refused');
  92.             return;
  93.             }
  94.          
  95.          if (my.testB)
  96.             my.testB++;
  97.          else
  98.             my.testB=100;
  99.            
  100.          this.loading=true;
  101.          var curr_stat=this.load_pictures(0,10,my.testB);
  102.          this.wr('start load: '+curr_stat.testb);
  103.          
  104.          return curr_stat.testb;
  105.       }
  106.      
  107.       //---------------------load pictires
  108.       this.load_pictures =function (ajax_result,
  109.                         wait_count,
  110.                         testb) {
  111.                        
  112.          var stat = {};
  113.          stat.ajax_result=ajax_result;
  114.          stat.testb='A'+testb;
  115.              
  116.          var zShow_pics = new this.show_pics(stat);
  117.          
  118.          this.ajax_request(this.options.ajax_comm,zShow_pics);
  119.          
  120.          return stat;
  121.       }
  122.      
  123.       //------------------show pics object
  124.       this.show_pics = function (stat) {
  125.      
  126.          this.statEl=stat;
  127.          //-------------------------
  128.          this.show=function(html) {
  129.             if (html=='[]')
  130.                return 3;
  131.            
  132.             var json_resp=eval("("+html+")");
  133.             var picdiv = $('<div>',{'class':'picsin'});
  134.             var img =$('<img>',{});
  135.            
  136.             for (var i=0;i<json_resp.length; i++) {
  137.            
  138.                var npd=picdiv.clone();
  139.                var nimg=img.clone();
  140.                
  141.                nimg.attr('src',json_resp[i]['small']);
  142.                nimg.data('lgpath',json_resp[i]['big']);
  143.                //-----------------
  144.                var imBig = new Image();
  145.                imBig.ss=nimg.data('lgpath');
  146.                imBig.src=imBig.ss;
  147.                nimg.get(0).imBig=imBig;
  148.                //-----------------
  149.                npd.append(nimg);
  150.                
  151.                my.targetDiv.find('#zclose').before(npd);
  152.             }
  153.             return 4;
  154.          }
  155.       }
  156.       //-------------------------------------------
  157.       this.Scroller = {
  158.      
  159.          master:{},
  160.          curr_loading : 0,
  161.          scrolls_count: 0,
  162.          current_scroll : 0,
  163.          //----------------------------
  164.          init: function() {
  165.             //this.master=my;
  166.            
  167.             this.scrollev();
  168.            
  169.             $(window).scroll(this.scrollev);           
  170.             $(window).on('resize',this.scrollev);
  171.            
  172.          },
  173.          //----------------------------
  174.          scrollev: function () {
  175.            
  176.             var zsc=my.Scroller;
  177.                        
  178.             if (zsc.current_scroll!=0)
  179.                {
  180.                my.wr('busy');
  181.                return;
  182.             }              
  183.                            
  184.             zsc.scrolls_count++;
  185.             my.wr('scrolling: '+zsc.scrolls_count);
  186.             zsc.current_scroll=zsc.scrolls_count;
  187.            
  188.             var tmStat={
  189.                waitcount : 10,
  190.                z_testB : zsc.curr_loading,
  191.                n_scroll : zsc.scrolls_count,
  192.                zsc : zsc
  193.             };
  194.             //-------------------
  195.             init_loadpict(tmStat);
  196.  
  197.            
  198.             //-----------------------
  199.             function init_loadpict(inStat) {
  200.                
  201.                if (my.loading) {
  202.                   inStat.waitcount--;
  203.                   if (inStat.waitcount==0) {
  204.                      my.wr('ajax load timeout');
  205.                      inStat.zsc.current_scroll=0;
  206.                      return;
  207.                   }
  208.                   my.wr('waiting '+inStat.z_testB+' S'+inStat.n_scroll+' - '+
  209.                         inStat.waitcount);
  210.                      
  211.                   setTimeout(function(){init_loadpict(inStat);},200);
  212.                   return;
  213.                }
  214.                //----------------
  215.                var pageHeight = document.documentElement.clientHeight;             
  216.                var scrolled = window.pageYOffset || document.documentElement.scrollTop;
  217.                var contentHeight = my.targetDiv.height()+my.targetDiv.position().top;
  218.                
  219.                my.wr(pageHeight+' - '+scrolled+' - '+contentHeight);
  220.                
  221.                if ((pageHeight+scrolled)>(contentHeight-800))
  222.                   {
  223.                      my.wr('init loading');
  224.                      
  225.                      
  226.                      var z_tmStat={                  
  227.                         waitcount : 10,
  228.                         z_testB : 0,
  229.                         n_scroll : inStat.n_scroll,
  230.                         zsc : inStat.zsc
  231.                      };
  232.                      
  233.                      z_tmStat.z_testB = my.append_pictures();
  234.                      inStat.zsc.curr_loading = z_tmStat.z_testB;
  235.                      
  236.                      setTimeout(function(){init_loadpict(z_tmStat);},200);
  237.                      }
  238.                 else {
  239.                    inStat.zsc.current_scroll=0;
  240.                 }
  241.             }
  242.             //-----------------------
  243.  
  244.          }
  245.          
  246.       }
  247.       //-------------------------------------------
  248.       this.Tracer = {
  249.          traceBlock: {},
  250.          init: function () {
  251.             var traceBlock = $('<div>',{'id':'traceblock'});
  252.            
  253.             $(document.body).append(traceBlock);
  254.             this.traceBlock=traceBlock;
  255.             this.wr('start');
  256.            
  257.          },
  258.          wr: function (instr) {
  259.             var ht=this.traceBlock.html();
  260.             this.traceBlock.html(instr+'<br />'+ht);
  261.          }
  262.       }
  263.       //-------------------------------------------
  264.       this.init(options);
  265.      
  266.    }
  267.  
  268. }) (jQuery)
  269. </script>
  270. <!--------------------------------------------------------------------->
  271. <script type="text/javascript">
  272.    $(document).ready(function() {
  273.    
  274.       var zSl= new ZSlider ({targetID:'inslider',ajax_url:'req4.php',
  275.                              ajax_comm:{req:'showparsed'}})
  276.    });
  277. </script>
  278. <!--------------------------------------------------------------------->
  279. <style type="text/css">
  280.    #inslider {
  281.  
  282.    }
  283.    
  284.   .picsin  {
  285.       float:left;
  286.       border-right:dotted 1px black;
  287.       border-bottom:dotted 1px black;
  288.       padding:10px;
  289.       /*height:200px;*/
  290.       overflow:hidden;
  291.       cursor:pointer;
  292.    }
  293.    
  294.     #traceblock {
  295.       position:fixed;
  296.       width:300px;
  297.       height:400px;
  298.       background:#333;
  299.       border:solid 1px yellow;
  300.       color:#9f9;
  301.      
  302.       font-family:verdana;
  303.       font-size:12px;
  304.       padding:5px;
  305.      
  306.       z-index:10;
  307.       opacity:0.8;
  308.       filter:alpha(opacity=80);
  309.       overflow:hidden;
  310.      
  311.       left:50px;
  312.       top:50px;
  313.    }
  314. </style>
  315. <!--------------------------------------------------------------------->
  316.  
  317. </head>
  318.  
  319. <body>
  320.    <div id="inslider"></div>
  321. </body>
  322. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement