PHP Classes

File: jQueryP_test.php

Recommend this page to a friend!
  Classes of Sam S   jQueryP   jQueryP_test.php   Download  
File: jQueryP_test.php
Role: Example script
Content type: text/plain
Description: An example implementation
Class: jQueryP
Call PHP functions to handle jQuery events
Author: By
Last change:
Date: 14 years ago
Size: 4,864 bytes
 

Contents

Class file image Download
<?php
/**
 * @package jQueryP
 *
 *
 *
 * 04/29/2009
 * @author Sam Shull <sam.shull@jhspecialty.com>
 * @version 0.5
 *
 * @copyright Copyright (c) 2009 Sam Shull <sam.shull@jhspeicalty.com>
 * @license <http://www.opensource.org/licenses/mit-license.html>
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 *
 */
 
   
function test_callback ()
    {
       
$arguments = func_get_args();
        return
'$(document.body).append("<br>Click: <code>"+' . json_encode(print_r($arguments, true)) . '+"</code>");';
    }
   
    function
all_events ($event)
    {
        return
'$(document.body).append("<br>'.$event->type.': <code>"+' . json_encode(print_r($event, true)) . '+"</code>");';
    }
   
    require
"jQueryP.class.php";
?>
<html>
    <body style="height:6000px;">
        <input id="test"/>
        <table id="table">
            <tr>
                <td>Column 1</td>
                <td>Column 2</td>
            </tr>
            <tr>
                <td>Column 1</td>
                <td>Column 2</td>
            </tr>
        </table>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
        <!--<script type="text/javascript" src="jquery.animate.colors.js"></script>-->
        <script type="text/javascript">
            $(function($){
            <?php
               
//call this first, but in a script tag
                //to set the jQuery._encodeArguments function
               
print jQueryP::setupProxies();
               
               
$all_events = jQueryP::createProxy(array('callback' => 'all_events'));
               
               
$window = JSVar('window');
               
               
$begin_opacity = 0.9;
               
$end_opacity = 0.1;
               
               
                print
jQueryP($window)
                                ->
bind('scroll user_event', $all_events)
                                ->
toString();
                               
                print
jQueryP(JSVar('document.body'))
                               
//add a server side callback to the click event
                               
->click(jQueryP::createProxy(array('callback' => 'test_callback')))
                                ->
keyup($all_events)
                                ->
toString();
               
               
                print
'var test = ' .
                       
jQueryP('#test')
                            ->
bind('mouseenter', jQueryP::createProxy(array('callback' => 'all_events')))
                            ->
css(
                                array(
                                       
'border' => '5px solid red',
                                       
'opacity' => $begin_opacity,
                                       
'position' => 'absolute',
                                       
'top' => 0,
                                       
'left' => 0,
                                )
                            )
                            ->
animate(
                                array(
                                       
'opacity' => $end_opacity,
                                       
'top' => JSVar('screen.height/2'),
                                       
'left' => JSVar('screen.width/2'),
                                       
//'borderColor' => 'CadetBlue',
                               
),
                               
1000,
                               
JSFunction(
                                   
JSVar('test')
                                        ->
animate(
                                            array(
                                                   
'opacity' => $begin_opacity,
                                                   
'top' => 0,
                                                   
'left' => 0,
                                                   
//'borderColor' => 0xFF0000,
                                           
),
                                           
1000,
                                           
JSFunction(
                                               
JSVar("test")
                                                    ->
animate(
                                                        array(
                                                               
'opacity' => $end_opacity,
                                                               
'top' => JSVar('screen.height/2'),
                                                               
'left' => JSVar('screen.width/2'),
                                                               
//'borderColor' => 'LimeGreen',
                                                       
),
                                                       
1000,
                                                       
JSFunction(
                                                           
JSVar("test")
                                                                ->
animate(
                                                                    array(
                                                                           
'opacity' => $begin_opacity,
                                                                           
'top' => 100,
                                                                           
'left' => 0,
                                                                           
//'borderColor' => 0xFF0000,
                                                                   
),
                                                                   
1000
                                                               
)
                                                        )
                                                    )
                                            )
                                        )
                                )
                            );
               
                print
jQueryP($window)
                                ->
triggerHandler('user_event')
                                ->
toString();
           
           
?>
test.val("25");
            });
        </script>
    </body>
</html>