Solved

JQuery hover fade in/out sound

Posted on 2013-06-13
8
701 Views
Last Modified: 2013-06-24
I have the following code that plays a sound on rollover and pauses and rewinds it on hover off. What I would like to do is fade in and fade out the sound on hover and hover off.

What do I ened to change in my code for the sound volume to increase and decrease etc?

  var waveshover = $('.wavesound');
	var wavesaudio = waveshover.find('audio')[0];
	var firehover = $('.firesound');
	var fireaudio = firehover.find('audio')[0];
	var junglehover = $('.junglesound');
	var jungleaudio = junglehover.find('audio')[0];
	
	//jungleaudio.muted = false;
	jungleaudio.volume = 0.1;
	
	//wavesaudio.muted = false;
	wavesaudio.volume = 0.1;
	
	//fireaudio.muted = false;
	fireaudio.volume = 0.5;
   
        $('#Ocean2').hover(
		function() {	
			wavesaudio.play();
        });
    
    $('#Ocean2g').hover(
		function() {},
		function () {
			wavesaudio.pause();
			wavesaudio.currentTime = 0
    });

Open in new window

0
Comment
Question by:swgdesign
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 4
8 Comments
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 39246657
What is the player?

jPlayer?

I suggest you try

http://api.jquery.com/animate/#step

$('#Ocean2g').animate({
  opacity: .5,
  height: '50%'
},
{
  step: function(now, fx) {
    fireaudio.volume=now
  }
});
0
 

Author Comment

by:swgdesign
ID: 39246831
There is no player involved. I am just using HTML5 and jquery.

What does the opacity and height have to do with my sound? It won't change the volume!
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 39246844
Change the hover to animation and you get the step - that is what I could find.
If fireaudio.volume changes will change the sound, then that would be a way to do it

Otherwise use setInterval

.hover(function() {
   tId = setInterval(function() {
    if(fireaudio.volume) > .0 fireaudio.volume--;
    else clearInterval(tId)  },
  100);
})
0
Major Incident Management Communications

Major incidents and IT service outages cost companies millions. Often the solution to minimizing damage is automated communication. Find out more in our Major Incident Management Communications infographic.

 

Author Comment

by:swgdesign
ID: 39246852
OK I get that, sort of makes sense but is a bodged way to do it.

I have already tried setInterval but I could not play the sound and get the setinterval bit to work.
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 39246937
So does my setInterval work better?
0
 

Author Comment

by:swgdesign
ID: 39252639
No, because I cannot get the setinterval work with the .play method when the user hovers over the trigger element.

Can you add in your code into mine so I can see how it should be structured please?
0
 
LVL 75

Accepted Solution

by:
Michel Plungjan earned 500 total points
ID: 39252690
Like this?

var tId;
$('#Ocean2').hover(function() {      
  tId = setInterval(function() {
    jungleaudio.volume--;
    if (jungleaudio.volume<=0) {
      clearInterval(tId);
      wavesaudio.play();
    }
  },100);
});
0
 

Author Comment

by:swgdesign
ID: 39271532
Awesome thanks.
0

Featured Post

Major Incident Management Communications

Major incidents and IT service outages cost companies millions. Often the solution to minimizing damage is automated communication. Find out more in our Major Incident Management Communications infographic.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Help with mod_substitute 18 76
Jquery Ajax - on change event not being picked up 9 60
Word Press Fixes to Google Speed Test Issues 2 50
Slow Down an Animation 3 28
I found this questions asking how to do this in many different forums, so I will describe here how to implement a solution using PHP and AJAX. The logical flow for the problem should be: Write an event handler for the first drop down box to get …
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

739 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question