私は、自分の練習/楽しみのために行っているプロジェクトのために、JQuery を使用せずに水平スライダーを作成しようとしています。
関連するコードは次のとおりです。
function moveit() {
"use strict";
document.getElementById("position").style.left = window.event.clientX + "px";
}
window.onload = function () {
"use strict";
findtime();
document.getElementById("scrollbar").style.width = document.getElementById("thevideo").offsetWidth + "px";
var mousemove;
document.getElementById("scrollbar").onclick = function () {
mousemove = window.setInterval("moveit()", 1000);
};
document.getElementById("scrollbar").mouseup = function () {
window.clearInterval(mousemove);
};
};
言うまでもなく、私はそれに問題を抱えています。Chrome、Firefox などで常にエラーが生成されます。
Uncaught TypeError: Cannot read property 'clientX' of undefined
ただし、次のコードを実行すると機能します(ただし、マウスの位置を追跡するのには役立ちません)。
document.getElementById("position").style.left = 12 + "px";
HTML は次のとおりです。
<?php include("header.php"); ?>
<div>
<video id="thevideo">
<source src="movie.ogv" type="video/ogg" />
</video>
</div>
<div>
<span id="currenttime" contenteditable="true">0:00</span> / <span id="totaltime"></span>
</div>
<div id="scrollbar">
<div id="position" draggable="true"></div>
</div>
<?php include("footer.php"); ?>