PHP Classes

File: web/script/notice.js

Recommend this page to a friend!
  Classes of Luke Rotherfield   Nibble PHP Framework   web/script/notice.js   Download  
File: web/script/notice.js
Role: Auxiliary data
Content type: text/plain
Description: Flash messaging JS class
Class: Nibble PHP Framework
Web application framework based in plug-ins
Author: By
Last change:
Date: 12 years ago
Size: 3,172 bytes
 

Contents

Class file image Download
/** * 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? title: 'system message', //Title value type: 'notice' // could also be error, succes } // declare varaibles var options, noticeWrapAll, noticeItemOuter, noticeItemInner, noticeItemClose; options = jQuery.extend({}, defaults, options); 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('<h2>'+options.title+'</h2>'+'<p>'+options.text+'</p>').animate(options.inEffect, options.inEffectDuration).wrap(noticeItemOuter); noticeItemClose = jQuery('<div></div>').addClass('notice-item-close').prependTo(noticeItemInner).html('x').click(function() { jQuery.noticeRemove(noticeItemInner) }); // hmmmz, zucht if(navigator.userAgent.match(/MSIE 6/i)) { noticeWrapAll.css({top: document.documentElement.scrollTop}); } if(!options.stay) { setTimeout(function() { jQuery.noticeRemove(noticeItemInner); }, options.stayTime); } }, noticeRemove: function(obj) { obj.animate({opacity: '0'}, 600, function() { obj.parent().animate({height: '0px'}, 500, function() { obj.parent().remove(); }); }); } }); })(jQuery);