0

我遇到了一个涉及 jquery 滑块的问题。我根据滑块位置调用 3 个不同的 php 代码进入 div。问题是页面/文档上的其他 javascript,包括 jplayer、hover 和其他功能,仅适用于第一个实例(滑块的“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

change看起来您正在通过该函数插入 dom 元素。jQuery 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 
...
?>

我曾认为我可以只使用主文档头中的脚本标签来引用所有包含的文件——但我想不是。

所以现在那些 js 脚本标签既在主文档中,也在包含的 php 文件中。

于 2013-06-07T01:05:38.763 回答