Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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,我正在尝试创建一个函数,该函数将接受提供的参数,并使该项具有粘性,而不是固定的(用于横幅)。我注意到,每当我输入参数时,它只显示为object-object,我似乎无法转换它 以下是相关代码: $(function() { var containerIdName = 'div#stickyRemoval'; $(window).scroll(function( var newContainerIdName = containerIdName; a

我正在尝试创建一个函数,该函数将接受提供的参数,并使该项具有粘性,而不是固定的(用于横幅)。我注意到,每当我输入参数时,它只显示为
object-object
,我似乎无法转换它

以下是相关代码:

$(function() {
    var containerIdName = 'div#stickyRemoval';
    $(window).scroll(function(
        var newContainerIdName = containerIdName;

        alert(newContainerIdName);

        var scrollHeight = $(document).height();
        var scrollPosition = $(window).height() + $(window).scrollTop();

        if ((scrollHeight - scrollPosition) / scrollHeight === 0) {
            $(newContainerIdName).css({position: 'sticky'});
        } else {
            $(newContainerIdName).css({position: 'fixed'});
        }
    });
});
我已经输入了一个默认变量供您查看,但实际上将通过CMS接收它。我如何转换它,使我的
newContainerIdName
变量显示为字符串,而不是
object对象

提前谢谢


例如,问题在于无法将参数传递给事件处理程序。在
滚动
处理程序中引用的变量实际上是已引发的事件对象-这就是为什么在将其强制为字符串时会看到
[object object]

要执行所需操作,只需从处理程序函数中删除参数。另请注意下面示例中用于修改样式的首选类:

$(函数(){
var containerIdName='div#StickyRemoving';
$(window).scroll(function(){//删除此处的参数
var scrollHeight=$(document.height();
var scrollPosition=$(窗口).height()+$(窗口).scrollTop();
var calc=(滚动高度-滚动位置)/滚动高度;
$(containerIdName).toggleClass('sticky',calc==0).toggleClass('fixed',calc!==0);
});
});
.sticky{位置:sticky;}
.fixed{位置:fixed;}

问题在于无法将参数传递给事件处理程序。在
滚动
处理程序中引用的变量实际上是已引发的事件对象-这就是为什么在将其强制为字符串时会看到
[object object]

要执行所需操作,只需从处理程序函数中删除参数。另请注意下面示例中用于修改样式的首选类:

$(函数(){
var containerIdName='div#StickyRemoving';
$(window).scroll(function(){//删除此处的参数
var scrollHeight=$(document.height();
var scrollPosition=$(窗口).height()+$(窗口).scrollTop();
var calc=(滚动高度-滚动位置)/滚动高度;
$(containerIdName).toggleClass('sticky',calc==0).toggleClass('fixed',calc!==0);
});
});
.sticky{位置:sticky;}
.fixed{位置:fixed;}

非常感谢,这更有意义。感谢您的精彩解释!非常感谢,这更有意义。感谢您的精彩解释!