【发布时间】:2011-11-07 13:39:40
【问题描述】:
我 - 在一些 stackoverflow 用户的帮助下 - 使用 Jquery 和通用 Javascript 开发了这个工具提示脚本,
<script type="text/javascript">
$(document).ready(function(){
/*OPCIONES DEL PLUGIN*/
var selector = '.disparador'; //elemento que activará el tooltip
var tooltip = '.miTooltip'; //elemento con el contenido HTML a mostrar por el tooltip
var tiempo_espera = 0; //tiempo que el tooltip esperará a desaparecer una vez el raton se salga del disparador
var seguir_raton = true; //booleana que determina si el tooltip debe seguir el movimiento del raton o no
var ajuste_top = 0; //distancia vertical de ajuste
var ajuste_left = 0; //distancia vertical de ajuste
var fade_time = 300; //tiempo de la transición de mostrar/ocultar
/*ARCHIVOS NECESARIOS DEL PLUGIN - NO TOCAR*/
/* Detectar que el raton pasa por encima */
$(selector).hover(function(e) {
/*Guardamos el selector del disparador y de tooltip en una variable*/
var disp = $(this);
var tip= disp.next(tooltip);
var tip_text = tip.html();
//alert(tip_text);
var new_content = '<span class="left"></span ><span class="contenido">'+tip_text+'</span ><span class="right"></span ><span class="bottom"></span >';
//alert(new_content);
tip.html(new_content);
if(typeof t != 'undefined'){
/*reiniciamos tiempo_espera*/
clearTimeout(t);
}
$(tip).css({
/*colocamos el tooltip según el ratón y el tamaño del tooltip*/
left: e.clientX-($(tip).width()/2)+ajuste_left+'px',
top: e.clientY-$(tip).height()*3/2+ajuste_top+'px'
}).fadeIn(fade_time);
});
/* En caso de que se mueva el raton */
$(selector).bind('mousemove', function(e){
if(seguir_raton==true){
var disp = $(this);
var tip= $(this).next(tooltip);
$(tip).css({
/*Pues recolocamos el tooltip*/
left: e.clientX-($(tip).width()/2)+ajuste_left+'px',
top: e.clientY-$(tip).height()*3/2+ajuste_top+'px'
});
}
});
$(selector).mouseout(function() {
/*añadimos tiempo_espera por si el usuario se sale sin querer*/
t = setTimeout("$('"+tooltip+"').fadeOut("+fade_time+")",tiempo_espera);
});
});
</script>
它在开始时有一些变量,它们都是可选的,因为它们都有初始值,但我希望能够成为 init 的变量,
据此:tutorial 我需要做类似的事情:
(function($){
$.fn.meliaTooltip = function(options){
// code will be added here.
}
})(jQuery);
但我不确定是否必须在其中粘贴代码以及如何准确定义选项(假设选项是用作我的变量的参数)
有人想推我一下吗?
【问题讨论】:
-
但是我有 .selector 作为变量,它实际上应该是选择器,对吧??
标签: jquery plugins jquery-plugins