2010-06-30 5 views
10

Je me demande s'il serait possible de joindre une info-bulle à la poignée du curseur? Ma fonction de curseur actuelle est:info-bulle pour suivre la poignée du curseur jquery?

  $('#slider').slider({ 
       max: 18, 
       animate: 'slow', 
       orientation: 'vertical', 
       slide: function(e,ui) { 
        $('#storage').html(storage[ui.value-1]); 
        $('#ram').html(ram[ui.value-1]); 
        $('#bandwidth').html(bandwidth[ui.value-1]); 
        $('#cpu').html(cpu[ui.value-1]); 
        $('#price').html(price[ui.value-1]); 
       } 
      }); 

Je veux prendre ceci et appliquer une infobulle pour suivre la poignée. Serait-il recommandé de déterminer la position et de mettre à jour dynamiquement la position de l'info-bulle en fonction de la position du curseur?

+0

Que voulez-vous afficher dans l'info-bulle? –

+0

Faites-moi glisser! est ce que je veux afficher. – Steven

Répondre

15

En fait, en utilisant l'attribut title est le moyen plus facile (idée belugabob)

$(function() { 


    $("#slider").slider() 
       .find(".ui-slider-handle") 
       .attr("title", "Slide Me") 

}); 

Toutefois, si vous voulez contrôler l'utilisation complète de cette exemple

Aperçu: http://jsbin.com/eluqi3/166/edit

$(function() { 

    var $slideMe = $("<div/>") 
        .css({ position : 'absolute' , top : 10, left : 0 }) 
        .text("Slide Me!") 
        .hide() 


    $("#slider").slider() 
       .find(".ui-slider-handle") 
       .append($slideMe) 
       .hover(function() 
         { $slideMe.show()}, 
         function() 
         { $slideMe.hide()} 
       ) 

}); 
+3

Bien que j'aime votre solution, je ne suis pas convaincu que l'info-bulle devrait être visible pendant toute la durée de l'action de glissement. En utilisant une info-bulle du navigateur natif, il n'apparaîtra que peu de temps après que la souris ait saisi la poignée du curseur. Tout est une question de goût, je suppose. – belugabob

+0

Je suppose que vous avez raison - cela simplifie aussi le code;) – jantimon

+0

mon but était d'intégrer une sorte d'aide-mémoire css sympa. Est-ce possible? Ou seulement en utilisant l'attribut title? – Steven

1

À peu près tout Une info-bulle peut être affectée à un élément HTML en lui attribuant un attribut 'title' avec le texte requis étant la valeur de l'attribut.

Dans le cas de votre curseur, pouvez-vous localiser de manière fiable l'élément HTML utilisé pour dessiner la poignée du curseur? Si oui, ajoutez simplement un attribut de titre et vous devriez être en affaires. De manière générale, une utilisation judicieuse de l'attribut title peut améliorer le classement de vos pages. En ajoutant des informations sensibles au contexte, vous ne saisissez pas l'écran tant que vous n'en avez pas réellement besoin. ceux qui ne sont pas familiers avec l'interface utilisateur de votre site.

+1

J'essaie juste d'imaginer à quoi ressemblerait une infobulle dans un descripteur de diapositive et je ne vois pas comment cela ajouterait à l'expérience de l'utilisateur de manière significative. Cela peut en fait être préjudiciable, surtout s'il couvre par inadvertance la valeur actuelle du curseur. –

+0

C'est vrai, et c'est l'avantage de votre technique - il y a plus de contrôle sur la position de l'info-bulle. Ma principale préoccupation est que le but de l'info-bulle est d'inviter l'utilisateur inexpérimenté et de l'informer de l'utilisation de la poignée du curseur. Une fois qu'ils ont commencé à glisser, l'info-bulle est redondante. – belugabob

Questions connexes