A jQuery-based notification plugin for creating notifications like Ubuntu's Notify OSD ones.
- Can be easily plugged into jQuery.
- Unobtrusive and minimalistic
- Transparency on hover
- Click through notifications on links / buttons below them
- Simple API
- Theme-able and configurable
- Modifiable global defaults
code: http://github.com/vickychijwani/jquery-notify-osd/ OR http://plugins.jquery.com/project/JNotifyOSD demo: http://vickychijwani.github.com/jquery-notify-osd/
Copy notify-osd.js and notify-osd.css to your project. The default theme can be changed by editing notify-osd.css. See examples below for how to use the plugin.
Tested on Firefox 4+, Chrome 1+. Should work just fine in Opera and Safari. IE support yet to be tested.
If you encounter any bugs, or have any suggestions, you can file an issue.
The last two options should not usually be needed, but if your use-case calls for it, you have them available.
-
text (required, type: string)
- The text to be displayed in the notification.
-
icon (type: string, path to image)
- The optional icon to be displayed with the notification.
-
timeout (type: integer > 0, default:
5
seconds)- The number of seconds after which the notification should disappear automatically. NOTE: This option is ignored if
sticky
is set totrue
.
- The number of seconds after which the notification should disappear automatically. NOTE: This option is ignored if
-
sticky (type: boolean, default:
false
)- Whether the notification should disappear automatically after
timeout
seconds or not. NOTE: Sticky notifications are alwaysdismissable
.
- Whether the notification should disappear automatically after
-
dismissable (type: boolean, default:
false
)- If set to
true
, the notification can be dismissed manually. Ignored ifsticky
istrue
.
- If set to
-
click_through (type: boolean, default:
false
)- If set to
true
, links and buttons below notifications can still be clicked on, i.e., the notification behaves as if it is not present there. NOTE: Doesn't work in IE and Opera.
- If set to
-
buffer (type: integer, default:
40
pixels)- The width of the "buffer" region around a notification. As the mouse pointer goes deeper into the buffer region, the notification becomes more and more translucent, finally settling at the opacity given by
opacity_min
.
- The width of the "buffer" region around a notification. As the mouse pointer goes deeper into the buffer region, the notification becomes more and more translucent, finally settling at the opacity given by
-
opacity_max and opacity_min (type: number in the range [0.0, 1.0], default:
0.85
and0.20
respectively)- The maximum and minimum opacities of the notification. When the mouse pointer is far from the notification, its opacity is opacity_max, as the mouse comes closer the opacity goes to opacity_min. The region around the notification in which this occurrs is defined by the
buffer
option.
- The maximum and minimum opacities of the notification. When the mouse pointer is far from the notification, its opacity is opacity_max, as the mouse comes closer the opacity goes to opacity_min. The region around the notification in which this occurrs is defined by the
// simplest example, default settings
$.notify_osd.create({ text: 'Hey there!' });
// standard options
$.notify_osd.create({
'text' : 'Hi!',
'icon' : 'images/icon.png', // icon path, 48x48
'sticky' : false, // if true, timeout is ignored
'timeout' : 6, // disappears after 6 seconds
'dismissable' : true // can be dismissed manually
});
// default settings (apply to all future notifications)
$.notify_osd.setup({
'icon' : 'images/default.png',
'sticky' : false,
'timeout' : 8
});
// the following notification will have the default settings above ...
$.notify_osd.create({
'text' : 'Hello!'
});
// ... unless they are specifically overriden
$.notify_osd.create({
'text' : 'Hey!',
'icon' : 'images/override.png'
'sticky' : true
});
// dismiss all notifications (currently only one notification is allowed at a time)
$.notify_osd.dismiss();