JQuery-fråga Problem Löst. Lösning bif.

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
SeniorLemuren
Inlägg: 7812
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

JQuery-fråga Problem Löst. Lösning bif.

Inlägg av SeniorLemuren »

Jag har gjort en jQuery som öppnar en informationsruta och sätter focus på ett inputfält on mouseover. Rutan tonas bort efter ett antal mS. Allt fungerar bra. för man musen in på inputfältet så öppnas och stängs inforutan snällt som den skall. Problemet är att om man fladrar kring med musen flera gånger över inputfältet så köas jQueryscriptet och inforutan kommer att ploppa upp flera gånger efter varandra även om musen är utanför rutan. Idé på hur man lösa detta?
Länk till exempel.

jQuery:

Kod: Markera allt

<script>
	$(function(){			
		$('.form-control').on('mouseover',  function(){
		
		var infoId = $(this).attr('data-infoId');
		var inputId = $(this).attr('data-inputId');
		$( inputId).focus();		
		$(infoId).fadeIn(400).delay(400).fadeOut(1000);
		});
	});
</script>
Senast redigerad av SeniorLemuren 12 januari 2016, 20:18:01, redigerad totalt 1 gång.
SeniorLemuren
Inlägg: 7812
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: JQuery-fråga

Inlägg av SeniorLemuren »

Bump! Ingen som figurerat ut hur man gör?
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: JQuery-fråga

Inlägg av sodjan »

Jag vet inte exakt hur man gör, men det som verkar saknas är en delay.
D.v.s att markören behöver ligga still i 0.5 sekund (eller så) innan
mouseover "triggar" så att säga.

Googlar lite på "jquery mouseover delay".........

Här verkar vara ett sådant exempel:
http://stackoverflow.com/questions/4357 ... over-event

En annan:
https://forum.jquery.com/topic/how-can- ... over-event

Och en med en exempelsida man kan köra (och kolla koden):
https://forum.jquery.com/topic/adding-a ... over-event
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: JQuery-fråga

Inlägg av sodjan »

Många sidor hänvisar även till:
http://cherne.net/brian/resources/jquer ... ntent.html
vilket verkar lösa samma problem...
Användarvisningsbild
papabear
Inlägg: 821
Blev medlem: 14 mars 2004, 03:27:12
Ort: Eskilstuna
Kontakt:

Re: JQuery-fråga

Inlägg av papabear »

Kan också rekomendera hover intent som jag kört med tidigare, och det funkade riktigt bra.
SeniorLemuren
Inlägg: 7812
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: JQuery-fråga

Inlägg av SeniorLemuren »

Så här blev det. Funkar kanon.

Kod: Markera allt

<script type="text/javascript">
$(function(){

var delay = 600, setTimeoutConst; 
    
$(".form-control").mouseover(function(){
	var inputId = $(this).attr('data-inputId');
	var infoId = $(this).attr('data-infoId');
	$(inputId).focus();
  	setTimeoutConst = setTimeout(function(){	
	$(infoId).fadeIn(100).delay(400).fadeOut(1000);    
 	},delay);
}).mouseout(function(){
  	clearTimeout(setTimeoutConst ); 
});

});
</script>
http://www.ofmanagement.eu/main/exempel ... BOX%202529
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: JQuery-fråga Problem Löst. Lösning bif.

Inlägg av sodjan »

Ah, du valde timer lösningen, ja det fanns ju också med bland alternativen... :-)
Sidan du länkar till ger bara en "Enter Secure Area" sida...
SeniorLemuren
Inlägg: 7812
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: JQuery-fråga Problem Löst. Lösning bif.

Inlägg av SeniorLemuren »

Ajaj. Jag glömde ta bort inloggningsskriptet när jag uppdaterade sidan med den nya rutinen. Nu skall det funka.
Skriv svar