私は DOJO を使っていくつかのアニメーションを作成しています。h1
マウスがセクションにホバリングしているときに、セクション内をアニメーション化しようとしています。
これは機能します:
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.8.0/dojo/dojo.js" data-dojo-config="async: true, isDebug: true"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<div id="section">
<div id="title">Something</div>
</div>
</body>
</html>
JavaScript:
require(["dojo/fx", "dojo/on", "dojo/dom", "dojo/mouse","dojo/query","dojo/domReady!"], function(fx, on, dom, mouse,query) {
var section = dom.byId("section"),
title = dom.byId("title");
on(section, mouse.enter, function(evt){
fx.slideTo({
node: title,
top: "0"
}).play();
});
on(section, mouse.leave, function(evt){
fx.slideTo({
node: title,
top: "200"
}).play();
});
});
私が働きたいのは(そうではありません):
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.8.0/dojo/dojo.js" data-dojo-config="async: true, isDebug: true"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<section>
<h1>Something</h1>
</section>
</body>
</html>
JavaScript:
require(["dojo/fx", "dojo/on", "dojo/dom", "dojo/mouse","dojo/query","dojo/domReady!"], function(fx, on, dom, mouse,query) {
var section = query("section");
on(section, mouse.enter, function(evt){
fx.slideTo({
node: query("h1",this),
top: "0"
}).play();
});
on(section, mouse.leave, function(evt){
fx.slideTo({
node: query("h1",this),
top: "200"
}).play();
});
});
h1
を使用して要素を取得しようとしてquery("h1",this)
います。私が得るのは、開発ツールのエラーだけです。解決策を探してみましたが、見つかりません。この問題を解決するにはどうすればよいですか?
Uncaught TypeError: Object [object HTMLHeadingElement] has no method 'getBoundingClientRect'