Вход Регистрация
Файл: framework/admin/thirdparty/jquery-notice/jquery.notice.js
Строк: 149
<?php
/**
*    jQuery.noticeAdd() and jQuery.noticeRemove()
*    These functions create and remove growl-like notices
*        
*   Copyright (c) 2009 Tim Benniks
*
*    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.
*    
*    @author     Tim Benniks <tim@timbenniks.com>
*     @copyright  2009 timbenniks.com
*    @version    $Id: jquery.notice.js 1 2009-01-24 12:24:18Z timbenniks $
**/
(function(jQuery)
{
    
jQuery.extend({            
        
noticeAdd: function(options)
        {    
            var 
defaults = {
                
inEffect:             {opacity'show'},    // in effect
                
inEffectDuration:     600,                // in effect duration in miliseconds
                
stayTime:             3000,                // time in miliseconds before the item has to disappear
                
text:                 '',                    // content of the item
                
stay:                 false,                // should the notice item stay or not?
                
type:                 'notice'             // could also be error, succes
            
}
            
            
// declare varaibles
            
var optionsnoticeWrapAllnoticeItemOuternoticeItemInnernoticeItemClosehover false;
            
            
options         jQuery.extend({}, defaultsoptions);
            
noticeWrapAll    = (!jQuery('.notice-wrap').length) ? jQuery('<div></div>').addClass('notice-wrap').appendTo('body') : jQuery('.notice-wrap');
            
noticeItemOuter    jQuery('<div></div>').addClass('notice-item-wrapper');
            
noticeItemInner    jQuery('<div></div>').hide().addClass('notice-item ' options.type).appendTo(noticeWrapAll).html('<p>'+options.text+'</p>').animate(options.inEffectoptions.inEffectDuration).wrap(noticeItemOuter);
            
noticeItemClose    jQuery('<div></div>').addClass('notice-item-close').prependTo(noticeItemInner).html('x').click(function() { jQuery.noticeRemove(noticeItemInner) });
            
            
noticeItemInner.hover(function() {
                
hover true;
            }, function () {
                
hover false;
            });

            if (!
options.stay) {
                
setTimeout( function () {
                    var 
noticeHover setInterval(function () {
                        if(!
hover) {
                            
jQuery.noticeRemove(noticeItemInner);
                            
clearInterval(noticeHover);
                        }
                    }, 
1000);
                }, 
options.stayTime);
            }
        },
        
        
noticeRemove: function(obj)
        {
            
obj.animate({opacity'0'}, 600, function()
            {
                
obj.parent().animate({height'0px'}, 300, function()
                {
                    
obj.parent().remove();
                });
            });
        }
    });
})(
jQuery);
?>
Онлайн: 0
Реклама