나는 내 자신의 연습/즐거움을 위해하고있는 프로젝트를 위해 JQuery없이 수평 슬라이더를 작성하려고 시도하고있다. 내가 문제가 있습니다 말을JavaScript 수평 슬라이더
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);
};
};
없이 :
여기에 관련 코드입니다. 그것은 지속적 등 크롬, 파이어 폭스,에 오류가 발생 지금은 그것을하지만, 작동 (그러나 마우스 위치에 따라 유용하지 않습니다) 다음 코드를 실행하면 :
Uncaught TypeError: Cannot read property 'clientX' of undefined
을 :
document.getElementById("position").style.left = 12 + "px";
HTML은 다음과 같습니다.
참고 : 이것은 수직 스크롤러입니다. window.pageYOffset'와'body.scrollTop' 대신'window.pageXOffset'와'body.scrollLeft'를 변경하여 수평면에서 작동하도록 변경해야합니다. 'contentWindow.scrollTo (newX, 0)'을 잊지 말것 – Ozzy
음,이 코드를 이해할 수 있을지 모르겠습니다 : document.all? scrollframe.contentWindow.document.body.scrollTop : scrollframe.contentWindow.window.pageYOffset ;. 왜 물음표와 콜론이 필요합니까? –
@ user798080 이것은 단문 조건문이며, 다음과 같이 작성합니다 :'var curY; if (document.all) curY = scrollframe.contentWindow.document.body.scrollTop; else curY = scrollframe.contentWindow.windiw.pageYOffset;'. 'x = (condition)? a : b;'는'x를 대입하면 (조건이 true이면 A를 반환하고 그렇지 않으면 B를 반환)' – Ozzy