0

jquery スライダーに関する問題が発生しています。スライダーの位置に応じて、div 内に移動する 3 つの異なる php コードを呼び出しています。問題は、jplayer、ホバー、その他の機能を含むページ/ドキュメント上の他の JavaScript が、最初のインスタンス (スライダーのデフォルト設定「0」) でのみ機能することです。問題は、他の設定のコードがスライダーの変更によって挿入されると、元の JavaScript を持つ元のドキュメントに残らず、代わりに新しいドキュメント (およびファイル パス) が実行されることだと思いますが、できませんPHPコードを挿入するだけで、元のドキュメントとJavaScript機能を維持する方法を見つけてください。

スライダー スクリプトは次のとおりです。

<script>
$(function() {
    $( "#slider" ).slider({
        value:0,
        min: 0,
        max: 2,
        step: 1,
        slide: function( event, ui ) {
            $( "#amount" ).val( ui.value );
        },
        change: function(event, ui) {
            var pyrScrURL = "pyrScr" + ui.value + ".1.8.php";
            $("#pyr").load(pyrScrURL);
        }
    }); 
    $( "#amount" ).val( "$" + $( "#slider" ).slider( "value" ) );
});
</script>

以下は div html で、デフォルトの "0" php ファイルが含まれています。

<div id="pyr">
    <?php include("pyrScr0.1.8.php");?>
</div><!--end pyr div-->

以下は、HTML が正常に実行されていても、スライダーを動かした後に機能しないスクリプトの例です。

// hover
$( document ).ready(function() {
$(".counter, .counterPM").hover(function(){
    var currentId = $(this).data("id");
    var currentRank = $(this).data("rank");
    var currentTitle = $(this).data("song_name");
    /*alert("the current title is " + currentTitle);*/
    $("#songName").html(currentTitle);
});
});

アドバイスとご支援をよろしくお願いいたします。

4

2 に答える 2

2

関数を介してdom要素を挿入しているようですchangejQuery on()メソッドがうまくいくかもしれません。

これが役に立てば幸いです。幸運を祈ります。

$('body').on('mouseenter', '.counter, .counterPM', function(){
    var currentId = $(this).data('id'),
        currentRank = $(this).data('rank'),
        currentTitle = $(this).data('title');

    $('#songName').html(currentTitle);
}
于 2013-06-05T06:58:55.577 に答える
0

多くのことを試した後、これが私にとってうまくいったものです。実行したいスクリプトの JavaScript リンク タグを、スライダー変更イベントの一部として含まれていた php ファイルに追加する必要がありました。

<script type="text/javascript" src="scripts/hover.js"></script>

<?php 
...
?>

メイン ドキュメントの head 内の script タグを使用して、含まれているすべてのファイルを参照できると思っていましたが、そうではないと思います。

そのため、これらの js スクリプト タグは、メイン ドキュメントとインクルードされた php ファイルの両方に含まれています。

于 2013-06-07T01:05:38.763 に答える