2

html5オーディオを使用してバックグラウンドでサウンドファイルをループし、ユーザーが下にスクロールするとフェードアウトするページを作成しようとしています。理想的には、ユーザーが上にスクロールするとフェードインします。私はかなり離れていることを知っていますが、これが私が取り組んでいるものです:

html:

 <html lang="en-US">
<head>
    <style>article {height:1000px; background:yellow;}</style>
</head>
<body>

<article>
    <audio loop id="soundTour" src="longdong.wav"></audio>
</article>


<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'></script>

</body>
</html>

jQuery:

$(document).ready(function() {


var audioElm = $('#soundTour').get(0);
audioElm.play();
audioElm.volume=1;


$(window).scroll(function () { 
        //audioElm.volume=.1;
        var value = $(window).scroll("value");
        audioElm.volume = (value / 100);
});  
});

http://jsfiddle.net/8X6Wn/

誰かがこれを刺したいですか?ありがとう!!!

4

1 に答える 1

5

.scrollTop()ユーザーがスクロールした距離を判断するために使用できます。

$(document).ready(function() {
    var audioElm = $('#soundTour').get(0);
    audioElm.play();

    var height = $(document).height() - $(window).height();

    $(window).scroll(function() {
        audioElm.volume = 1 - $(window).scrollTop() / height;
        console.log(audioElm.volume);
    });
});​

デモ: http: //jsfiddle.net/8X6Wn/3/

于 2012-12-20T04:10:58.650 に答える