Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单击事件时Javascript变量未正确更改_Javascript_Jquery - Fatal编程技术网

单击事件时Javascript变量未正确更改

单击事件时Javascript变量未正确更改,javascript,jquery,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);

我有以下脚本

$(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;
});

首先声明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");
});
});

不过要小心,我重新安排了您的代码,但我没有对其进行测试。

您甚至没有测试代码格式吗?在该函数外声明bob,否则它将在函数块后消失。尝试在javascript的第一行声明bob。遗憾的是,这没有什么区别。您的每个函数都会创建一个新的作用域,其中一个函数中声明的变量对其他函数不可见。如果您希望一个变量对所有人都可见,则必须在所有变量之外声明它。不要执行var bob=sport.php,只执行bob=sport.php。否则,您将声明一个局部变量,而它不会访问全局变量。