Javascript变量在点击事件上没有正确更改

时间:2014-05-01 04:23:00

标签: javascript jquery

我有以下脚本。

$(function () {

    $('#slider').slider({
        value: 50,
        min: 10,
        max: 100,
        step: 10,
        slide: function (event, ui) {
            $("#slider-value").html(ui.value);
            $("#hiddenbox").val(ui.value);
        },
        change: function (event, data) {

            $("#slider-value").html($('#slider').slider('value'));

            var sliderValue = hiddenbox.value;
            $("#div1").load(bob, {sliderValue: sliderValue}, function(responseTxt,statusTxt,xhr){
                if(statusTxt=="error")
                    alert("Error: "+xhr.status+": "+xhr.statusText);
            }); 
        }
    });

    $("#show-slider").click(function() {
        $('#slide').toggle("slow");
    });
});

我正在使用变量( bob )确定要加载哪个文件。这应该导致JquerySlider将Div1的内容更改为 bob 中指定的页面。

另一个菜单选项上的点击事件应该重新分配变量:

$(document).ready(function(){
    $("#sport").on("click", function(){
        var page = "sport.php";
        var sliderValue = hiddenbox.value;
        var bob = "sport.php";
        $("#div1").load("sport.php", {sliderValue: sliderValue, page: page}, function(responseTxt,statusTxt,xhr){
            if(statusTxt=="error")
                alert("Error: "+xhr.status+": "+xhr.statusTexe. t);
        });
    });
});

然而,目前发生的一切都是滑块什么也没做。如果您移动它并进行页面转换,则会发生更改,但除此之外它没有响应。

使用:

声明了bob
$(document).ready(function(){
    var bob;
});

1 个答案:

答案 0 :(得分:0)

首先声明bob,然后不要再用var:

声明bob
var bob;
$(document).ready(function(){

   $("#sport").on("click", function(){
      var page = "sport.php";
      var sliderValue = hiddenbox.value;
      bob = "sport.php";
      $("#div1").load("sport.php", {sliderValue: sliderValue, page: page}, function(responseTxt,statusTxt,xhr){
        if(statusTxt=="error")
            alert("Error: "+xhr.status+": "+xhr.statusTexe. t);
      });
   });
   $('#slider').slider({
      value: 50,
      min: 10,
      max: 100,
      step: 10,
      slide: function (event, ui) {
        $("#slider-value").html(ui.value);
        $("#hiddenbox").val(ui.value);
    },
    change: function (event, data) {

        $("#slider-value").html($('#slider').slider('value'));

        var sliderValue = hiddenbox.value;
        $("#div1").load(bob, {sliderValue: sliderValue}, function(responseTxt,statusTxt,xhr){
            if(statusTxt=="error")
                alert("Error: "+xhr.status+": "+xhr.statusText);
        }); 
    }
});

$("#show-slider").click(function() {
    $('#slide').toggle("slow");
});
});

但要小心,我重新安排了你的代码,但我没有测试它。