jquery - 单击 anchor 链接时淡入/淡出音乐

标签 jquery audio anchor fade

我有一个包含多个链接的网页,单击这些链接会淡入页面,而不是加载不同的 .html 文件。 这是我的代码:

<!--fade and show windows-->
<script type="text/javascript">

    $(document).ready(function() {

        $('.aboutbutton').click(function() {
            displayNone();
            showWindow("aboutpage");
        } );
        ....
        ....  
        function displayNone() {
            $('#homepage,#aboutpage,#blueprintpage,#budgetpage,#musicpage').fadeOut();
        }
        function showWindow(name) {
            $('#' + name).fadeIn();
        }

    });
</script>
...
...
<body>

    <a href="#aboutpage" class="aboutbutton">About</a>
    <a href="#blueprintpage" class="blueprintbutton">Blueprint</a>
    ...
    ...
    <div id="aboutpage">  
               //CONTENT OF THIS PAGE//
    </div>
    <div id="blueprintpage">              
               //CONTENT OF THIS PAGE//
    </div>
    ....
    ....
    <!--simple pause/play music button at bottom of page using flash-->
    <div class="backgroundmusic">
        <span class="whitetext backgroundmusictext">Background music </span>
        <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="25" height="20"
        codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">
        <param name="movie" value="../site/swf/singlemp3player.swf?file=../site/music/OST/wenqing.mp3&backColor=990000&frontColor=ddddff&repeatPlay=true&autoStart=true&songVolume=30" />
        <param name="wmode" value="transparent" />
        <embed wmode="transparent" width="25" height="20" src="../site/swf/singlemp3player.swf?file=../site/music/OST/wenqing.mp3&backColor=990000&frontColor=ddddff&repeatPlay=true&autoStart=true&songVolume=30"
        type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
        </object>
    </div>
</body>

正如您所看到的,每个页面都是通过 anchor 链接访问的。我想为每个页面分配背景音乐。单击任何链接(例如“关于”“蓝图”等)时,我希望当前正在播放的任何音乐淡出,然后淡入新音乐。

这是一个个人音乐网站,所有音乐都是我的作品,没有一首是破坏耳膜的主流音乐,都是平静的钢琴旋律,所以请不要评论“有背景的想法很糟糕”音乐”等等等等

感谢您的帮助。

最佳答案

如果你真的想要播放背景音乐,我建议你使用一个基于 javascript 的音乐框架,名为 SoundManager 。您可以更轻松地控制音乐的播放,并为禁用 Flash 的用户支持更新的 HTML5 播放。然后使用类似 the GetSatisfaction page for the same issue 上发布的代码:

function fadeInSound(soundID,amount) {
  var s = soundManager.getSoundById(soundID);
  var vol = s.volume;
  if (vol == 100) return false;
  s.setVolume(Math.min(100,vol+amount));
  setTimeout(function(){fadeInSound(soundID,amount)},20);
}

function fadeOutSound(soundID,amount) {
  var s = soundManager.getSoundById(soundID);
  var vol = s.volume;
  if (vol == 0) return false;
  s.setVolume(Math.max(0,vol+amount));
  setTimeout(function(){fadeOutSound(soundID,amount)},20);
}

本质上,您只需在一定的时间间隔内将音量减小/增大固定量即可。

关于jquery - 单击 anchor 链接时淡入/淡出音乐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15079392/

相关文章:

javascript - 如何获取 JS 提示框的值,然后将其传递给 PHP 并保存在数据库中?

javascript - 如果选项值不匹配,文本框自动完成功能将被清除

javascript - JQuery Undefined 不是一个函数

audio - AWS EC2实例上的Pyaudio “Invalid input device (no default output device)”

html - 如何使 GitHub 中的 PDF 在新选项卡中打开?

javascript - jquery:如果未选中复选框,则删除所选值

java - 如何在Java中读取/写入高分辨率(24位,8 channel ).wav文件?

ios - iOS 中的音频信号处理

outlook - 固定在 table 周围 - 不在 Outlook 中工作

javascript - 检查用户是否单击邮件链接