Sunday, May 12, 2024
 Popular · Latest · Hot · Upcoming
175
rated 0 times [  180] [ 5]  / answers: 1 / hits: 17483  / 13 Years ago, thu, december 8, 2011, 12:00:00

I have this code



$(document).ready(function (){
var Form_addTurbo = $('form#Form_addTurbo');
Form_addTurbo.submit(function (e){
e.preventDefault;
v = new Notification('Creating Turbo.', 'information', 'Working..', function(){return;});
$.post('/api/turbos/new.php', {
action : 'createNew'
}, function (r){
v.hide();
if(r.success){
new Notification('Turbo Create.', 'saved', '', function(){return;});
}else if(r.error){

}else{
new Notification('Something went wrong.', 'error', '', function(){return;});
}
}, 'json');
return false;
});
});


Which uses this api



$(document).ready(function(e) {$(body).prepend('<ul id=notifications></ul>');});

/**
* Global notification system
*
* @param String Message to be displayed
* @param String Type of notification
*
* @author Bram Jetten
* @version 28-03-2011
*/
Notification.fn = Notification.prototype;

function Notification(value, type, tag, onclickfunc) {
this.log(value, type);
this.element = $('<li><span class=image '+ type +'></span>' + value + '</li>');
if(typeof tag !== undefined && tag !== '') {
$(this.element).append('<span class=tag>' + tag + '</span>');
}
if(typeof onclickfunc == 'function'){
this.element.click(onclickfunc);
}
$(#notifications).append(this.element);
this.show();
}

/**
* Show notification
*/
Notification.fn.show = function() {
$(this.element).slideDown(200);
$(this.element).click(this.hide);
}

/**
* Hide notification
*/
Notification.fn.hide = function() {
$(this).animate({opacity: .01}, 200, function() {
$(this).slideUp(200, function() {
$(this).remove();
});
});
}

/**
* Log notification
*
* @param String Message to be logged
* @param String Type of notification
*/
Notification.fn.log = function(value, type) {
switch(type) {
case information:
console.info(*** + value + ***);
break;
case success:
console.log(value);
break;
case warning:
console.warn(value);
break;
case error:
console.error(value);
break;
case saved:
console.log(value);
break;
default:
console.log(value);
break;
}
}


So what happens is that I try close the notification using the hide function that I believe it gives but I get this error.




Uncaught TypeError: Cannot read property 'defaultView' of undefined




I believe it doesn't know what this is but how would I be able to get this to work.


More From » jquery

 Answers
13

Made some minor changes to your example. Try it out http://jsfiddle.net/FLE39/



Had a closer look at your code and made a new jsfiddle. See updated link.


[#88677] Wednesday, December 7, 2011, 13 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
kylanalis

Total Points: 438
Total Questions: 85
Total Answers: 102

Location: Barbados
Member since Sun, Nov 27, 2022
1 Year ago
kylanalis questions
Sat, Oct 2, 21, 00:00, 3 Years ago
Tue, Oct 13, 20, 00:00, 4 Years ago
Thu, Feb 13, 20, 00:00, 4 Years ago
Tue, Jan 7, 20, 00:00, 4 Years ago
;