Jquery SyntaxError:应为令牌';}';和WordPress
编辑2012年2月3日:找到了另一个不需要任何其他功能就能自行工作的解决方案;请看下面我自己的答案Jquery SyntaxError:应为令牌';}';和WordPress,jquery,function,Jquery,Function,编辑2012年2月3日:找到了另一个不需要任何其他功能就能自行工作的解决方案;请看下面我自己的答案 我只是不知道这里出了什么问题,而且对于所有其他题为“SyntaxError:Expected token'}”的问题,我都没有找到答案 我正在使用一个粘性的div函数,该函数使在窗口滚动时始终可见 jQuery 1.7.1包含在WordPress中,并在下面两个函数之前加载。根据开发工具加载所有函数 带有各种html的,就放在标签附近 但是我得到了一个SyntaxError:应该是标记“}”错误
我只是不知道这里出了什么问题,而且对于所有其他题为“SyntaxError:Expected token'}”的问题,我都没有找到答案 我正在使用一个粘性的
div
函数,该函数使
在窗口滚动时始终可见
jQuery 1.7.1包含在WordPress中,并在下面两个函数之前加载。根据开发工具加载所有函数
带有各种html的,
就放在
标签附近
但是我得到了一个SyntaxError:应该是标记“}”错误
这在标题中:
$(document).ready(function(){
$('.sticky').jsticky({
marginTop: 0,
});
此主要功能包括在其上方:
(function($){
$.fn.extend({
//plugin name - jsticky
jsticky: function(options) {
//Settings list and the default values
var defaults = {
marginTop: 0
};
var options = $.extend(defaults, options);
return this.each(function() {
var o = options;
//Assign current element to variable, in this case is UL element
var obj = $(this);
var offset = obj.offset();
var topOffset = offset.top;
var marginTop = obj.css("marginTop");
var marginTopNum = parseInt(marginTop);
var diff = topOffset - marginTopNum;
var offset = obj.offset();
var topOffset = offset.top;
var leftOffset = offset.left;
var marginTop = obj.css("marginTop");
var marginLeft = obj.css("marginLeft");
$(window).scroll(function() {
var WindowScrollTop = $(window).scrollTop();
var scrollTop = WindowScrollTop + o.marginTop;
if (scrollTop >= topOffset){
obj.css({
marginTop: o.marginTop,
marginLeft: leftOffset,
position: 'fixed'
});
}
if (scrollTop < topOffset){
obj.css({
marginTop: marginTop,
marginLeft: marginLeft,
position: 'relative'
});
}
});
});
}
});
})(jQuery);
(函数($){
$.fn.extend({
//插件名称-jsticky
jsticky:函数(选项){
//设置列表和默认值
var默认值={
玛金托普:0
};
var options=$.extend(默认值,选项);
返回此值。每个(函数(){
var o=期权;
//将当前元素分配给变量,在这种情况下为UL元素
var obj=$(本);
var offset=obj.offset();
var topOffset=offset.top;
var marginTop=obj.css(“marginTop”);
var marginTopNum=parseInt(marginTop);
var diff=拓扑偏移-边缘偏移;
var offset=obj.offset();
var topOffset=offset.top;
var leftOffset=offset.left;
var marginTop=obj.css(“marginTop”);
var marginLeft=obj.css(“marginLeft”);
$(窗口)。滚动(函数(){
var windowscorltop=$(window.scrollTop();
var scrollTop=WindowScrollTop+o.marginTop;
如果(scrollTop>=topOffset){
obj.css({
marginTop:o.marginTop,
marginLeft:leftOffset,
位置:'固定'
});
}
如果(滚动顶部<拓扑偏移){
obj.css({
玛金托普:玛金托普,
marginLeft:marginLeft,
位置:'相对'
});
}
});
});
}
});
})(jQuery);
错误完全正确。您从未从就绪回调中关闭外部
(函数(){
您缺少一个})
:
$(document).ready(function(){
$('.sticky').jsticky({
marginTop: 0,
});
应该是:
$(document).ready(function(){
$('.sticky').jsticky({
marginTop: 0,
});
});
找到了另一个不需要任何其他功能即可自行工作的解决方案:
var name = "#sticky";
var menuYloc = null;
$(document).ready(function(){
menuYloc = parseInt($(name).css("top").substring(0,$(name).css("top").indexOf("px")))
$(window).scroll(function () {
offset = menuYloc+$(document).scrollTop()+"px";
$(name).animate({top:offset},{duration:500,queue:false});
});
});
@nnnnnn:这就是为什么我加入了
(
。好的。我如何关闭函数?@songdogtech:使用解析器期望的}
。您如何编辑代码?大多数(全部?)IDE和许多简单的文本编辑器(例如记事本++)将显示哪个开始括号与哪个结束括号对,这样您就可以跟踪这种类型的错误。偶的代码编辑器也会这样做。@nnnnnn:我使用的是BBEdit,它有语法高亮显示,但它不是IDE.jslint.com&jshint.com…handy online syntax Validator我试过了,但它会抛出一个“TypeError:“undefined”不是函数(评估“$(文档)”错误。标题中除了jquery 1.7.1之外没有其他JS,但感谢您的帮助;我最终使用了一个不同的解决方案,不需要额外的长脚本。