Server IP : 103.119.228.120 / Your IP : 18.116.43.109 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/hendraso/public_html/Assets/plugins/ |
Upload File : |
/** * animOnScroll.js v1.0.0 * http://www.codrops.com * * Licensed under the MIT license. * http://www.opensource.org/licenses/mit-license.php * * Copyright 2013, Codrops * http://www.codrops.com */ ;( function( window ) { 'use strict'; var docElem = window.document.documentElement; function getViewportH() { var client = docElem['clientHeight'], inner = window['innerHeight']; if( client < inner ) return inner; else return client; } function scrollY() { return window.pageYOffset || docElem.scrollTop; } // http://stackoverflow.com/a/5598797/989439 function getOffset( el ) { var offsetTop = 0, offsetLeft = 0; do { if ( !isNaN( el.offsetTop ) ) { offsetTop += el.offsetTop; } if ( !isNaN( el.offsetLeft ) ) { offsetLeft += el.offsetLeft; } } while( el = el.offsetParent ) return { top : offsetTop, left : offsetLeft } } function inViewport( el, h ) { var elH = el.offsetHeight, scrolled = scrollY(), viewed = scrolled + getViewportH(), elTop = getOffset(el).top, elBottom = elTop + elH, // if 0, the element is considered in the viewport as soon as it enters. // if 1, the element is considered in the viewport only when it's fully inside // value in percentage (1 >= h >= 0) h = h || 0; return (elTop + elH * h) <= viewed && (elBottom - elH * h) >= scrolled; } function extend( a, b ) { for( var key in b ) { if( b.hasOwnProperty( key ) ) { a[key] = b[key]; } } return a; } function AnimOnScroll( el, options ) { this.el = el; this.options = extend( this.defaults, options ); this._init(); } function onProgress( imgLoad, image ) { // var item = $( image.img ).parents('.is-loading'); var item = document.querySelectorAll( image.img ).parentElement.nodeName; console.log('items:', item); // setInterval(function () { // item.addClass('activated').removeClass('is-loading'); // }, 200); // if ( !image.isLoaded ) { // item.addClass('is-broken'); // } } AnimOnScroll.prototype = { defaults : { // Minimum and a maximum duration of the animation (random value is chosen) minDuration : 0, maxDuration : 0, // The viewportFactor defines how much of the appearing item has to be visible in order to trigger the animation // if we'd use a value of 0, this would mean that it would add the animation class as soon as the item is in the viewport. // If we were to use the value of 1, the animation would only be triggered when we see all of the item in the viewport (100% of it) viewportFactor : 0 }, _init : function() { this.items = Array.prototype.slice.call( document.querySelectorAll( '#' + this.el.id + ' > .item' ) ); this.itemsCount = this.items.length; this.itemsRenderedCount = 0; this.didScroll = false; var self = this, msnry; // initialize masonry msnry = new Masonry( self.el, { itemSelector: '.item', isFitWidth: true, isAnimated: true, isResizable: true, transitionDuration : 0 }); imagesLoaded( this.el) // .on('always', function( instance, image ) { // console.log('ALWAYS - all images have been loaded'); // msnry.layout(); // if( Modernizr.cssanimations ) { // // the items already shown... // self.items.forEach( function( el, i ) { // if( inViewport( el ) ) { // self._checkTotalRendered(); // classie.add( el, 'shown' ); // } // } ); // // // animate on scroll the items inside the viewport // window.addEventListener( 'scroll', function() { // self._onScrollFn(); // }, false ); // window.addEventListener( 'resize', function() { // self._resizeHandler(); // }, false ); // } // }) .on('progress', function( instance, image ) { var result = image.isLoaded ? 'loaded' : 'broken'; console.log( 'image is ' + result + ' for ' + image.img.src ); var $item = $( image.img ).parents('.item'); $item.removeClass('is-loading'); if ( !image.isLoaded ) { $item.addClass('is-broken'); } msnry.layout(); if( Modernizr.cssanimations ) { // the items already shown... self.items.forEach( function( el, i ) { if( inViewport( el ) ) { self._checkTotalRendered(); classie.add( el, 'shown' ); } } ); // animate on scroll the items inside the viewport window.addEventListener( 'scroll', function() { self._onScrollFn(); }, false ); window.addEventListener( 'resize', function() { self._resizeHandler(); }, false ); } }); }, _onScrollFn : function() { var self = this; if( !this.didScroll ) { this.didScroll = true; setTimeout( function() { self._scrollPage(); }, 60 ); } }, _scrollPage : function() { var self = this; this.items.forEach( function( el, i ) { if( !classie.has( el, 'shown' ) && !classie.has( el, 'animate' ) && inViewport( el, self.options.viewportFactor ) ) { setTimeout( function() { var perspY = scrollY() + getViewportH() / 2; self.el.style.WebkitPerspectiveOrigin = '50% ' + perspY + 'px'; self.el.style.MozPerspectiveOrigin = '50% ' + perspY + 'px'; self.el.style.perspectiveOrigin = '50% ' + perspY + 'px'; self._checkTotalRendered(); if( self.options.minDuration && self.options.maxDuration ) { var randDuration = ( Math.random() * ( self.options.maxDuration - self.options.minDuration ) + self.options.minDuration ) + 's'; el.style.WebkitAnimationDuration = randDuration; el.style.MozAnimationDuration = randDuration; el.style.animationDuration = randDuration; } classie.add( el, 'animate' ); }, 25 ); } }); this.didScroll = false; }, _resizeHandler : function() { var self = this; function delayed() { self._scrollPage(); self.resizeTimeout = null; } if ( this.resizeTimeout ) { clearTimeout( this.resizeTimeout ); } this.resizeTimeout = setTimeout( delayed, 1000 ); }, _checkTotalRendered : function() { ++this.itemsRenderedCount; if( this.itemsRenderedCount === this.itemsCount ) { window.removeEventListener( 'scroll', this._onScrollFn ); } } } // add to global namespace window.AnimOnScroll = AnimOnScroll; } )( window );