我发现这个函数用于drupal教程。有人可以解释一下,为什么以下的javascript在我的wordpress安装中不起作用并且可以给我一个解决方案?
;
(function ($) {
"use strict";
var $corn = $('.corn-anchor');
$corn.each(function(idx, el) {
var $el = $(el);
$el.once('corn-animation', function() {
$(window).on('load', function() {
new Waypoint({
element: el,
handler: function(direction) {
$el.toggleClass('corn-animated', (direction == 'down'));
},
offset: '85%'
});
});
});
});
});
我想用它来切换一些section-wrappers,通过使用带有.corn-animated选择器的css过渡来动画这些包装器中的元素。我正在使用waypoints插件。我甚至没有在调试器中收到错误消息,但是当我向下滚动到具有类corn-anchor的元素时,没有添加toggleClass。
答案 0 :(得分:4)
没有任何东西在函数中运行代码。看一下,最后一行应该是
public string NewestUpdate(string Directoria)
{
string caminho = "";
Version version = null;
var lastVersion = new DirectoryInfo(Directoria).EnumerateDirectories()
.Where(d => d.Name.ToLower().StartsWith("update_"))
.Select(d => new { Directory = d, Token = d.Name.Split('_') })
.Where(x => x.Token.Length == 3 && Version.TryParse(x.Token[2], out version))
.Select(x => new { x.Directory, Date = x.Token[1], Version = version })
.OrderByDescending(x => x.Version)
.FirstOrDefault();
if (lastVersion != null)
{
caminho = lastVersion.Directory.FullName.ToString();
Global.LatestVersion = lastVersion.Version.ToString();
}
return caminho;
}
不
})(jQuery);
// ^^^^^^^^---- *call* the function, passing in `jQuery`
此外,请确保在结束 });
标记之前(以及{之后}的HTML的结尾处加载script
标记加载<{1}}标记包含jQuery的{1}}标记。否则,它会过早运行而找不到任何</body>
元素。
如果你不控制脚本的最终位置(因为你正在使用Wordpress),而不是更改最后一行,请更改第一行:
script
调用.corn-anchor
,传入该函数;当解析HTML并填充DOM时,jQuery将稍后调用该函数(将其自身作为第一个参数传递);它是ready
的别名。