jquery eigenes widget (popup)

fbfeix

Erfahrenes Mitglied
Hallo Community,

ich habe mir ein kleines Widget geschrieben, bzw. versuche gerade eines zu Schreiben. Wenn das Script fertig ist, sollte es ein Popup werden (kein Popup-Fenster sondern etwas das beim darüberfahren aufgeht). Dabei habe ich noch einige Fragen und Probleme.

Aber hier erst mal mein Code:
Javascript:
$.widget("mau.popup", {		
		
    _create: function() {
		var self = this;
    	//this.element.addClass('ui-widget');
    	this.element.addClass('ui-corner-all');
    	this.element.addClass('shadow');
    	
		this.element.addClass('ui-widget-content');
		this.element.css("display", "inline-block");
		//this.element.css("position", "absolute");
		this.element.css("padding", "5px");
		this.element.css("border-radius", "5px");		
    	this.element.hide();	
    	//this.element.show();	
    	    	

    	//this.element.css("display: none");
    	},
	
	
	options:
	{
		client: null,
		height: 'auto',
		maxHeight: false,
		maxWidth: false,
		minHeight: 150,
		minWidth: 150,
		autoOpen: false,
		isOpen: false,
		header: "",
		content: "",
		buttons: {}
	},
	
	_init: function() {	if ( this.options.autoOpen ) { this.open(); } },
	
	close : function() { this.element.hide(); },
	
	
	_setOption: function(key, value){
		var self = this,
			uiDialog = self.uiDialog;

		switch (key) {
			case "client":
				this.element.position({
				of: $( value ),
				my: "center top",
				at: "center bottom",
				offset: 5
				});
			break;
		}


	}
		
	
});

zu den Fragen und Problemen:
  1. In meinem Konkreten Fall habe ich eine Tabelle, bei der für jede Zelle ein Popup aufgehen soll. Leider kann ich aber aus Speichergründen nicht jeder Zelle eine ID verpassen. Wie kann ich also (per this oder ähnlichen) das Of-Element für die Position angeben?
  2. Was stimmt an der Positionsangabe nicht? Ich hab Testweise bei manchen Zellen eine ID hinzugefügt, allerdings will sich das Popup-Element nicht wirklich bewegen.
  3. Ich würde gerne erst nach einer Zeitverzögerung das Popup öffnen und wieder schließen. Wie kann oder soll ich das bewerkstelligen?

Client stellt übrigens (in meinem Fall eine Zelle) das Element dar über das man die Maus bewegen muss, um das Popup zu öffnen.
 

Neue Beiträge

Zurück