onclick
명령으로 이미지를 사용하여 상자를 퇴색 시키려고합니다. 그러나 나는 그것이 왜 효과가 없는지에 관해서 길을 잃어버린다.id 문제로 요소 가져 오기?
도움이 될 것입니다. 여기 코드는 다음과 같습니다
<style>
article, aside, figure, footer, header, hgroup,
menu, nav, section { display: block; }
#box { background:#999; width:500px; height:500px;opacity:0; }
</style>
</head>
<div id="box"><id="box"></div>
<div id="img"><img src="img.png" width="37" height="28" id="img"></div>
<script>
var elem = document.getElementById("img","box");
// attach event handler
"img".onclick = function(){
fadeIn("img", 400);
this.onclick = null;
};
function setOpacity(obj, value) {
if (obj) {
obj.style.opacity = value/100;
obj.style.filter = 'alpha(opacity=' + value + ')';
obj.style.zoom = 1;
}
}
// makes an element to fade in
function fadeIn(dom, interval, delay) {
interval = interval || 1000;
delay = delay || 10;
var opacity = 0,
start = Number(new Date()),
op_per_ms = 100/interval;
if (typeof dom === "string") {
dom = document.getElementById(dom);
}
function step() {
var now = Number(new Date()),
elapsed = now - start;
opacity = elapsed * op_per_ms;
setOpacity(dom, opacity);
if (elapsed < interval)
setTimeout(step, delay);
else
setOpacity(dom, 100);
}
setTimeout(step, delay);
}
</script>
가 [jQuery를 (http://jquery.com/가) 너무 쉽게입니다 . 요소를 사라지게하려면 단순히'$ ('# someElement') .fadeIn()'을 사용하면된다. 가능한 경우 jQuery를 사용하여 애니메이션을 만들 것을 제안합니다. 그런데''은 유효하지 않은 HTML입니다. ','img ".onclick'은 무엇입니까? 당신은'elem' 변수의 전체 점이 될'elem.onclick'을해야합니다. –
Nathan
음, 많은 문제가 있습니다. 첫째, ''은 유효한 HTML이 아닙니다. getElementById는 id라는 매개 변수 하나만 사용합니다. –
mowwwalker
'new Date(). getTime()'또는'+ new Date()'는'Number (new Date()) '를 사용하는 것과 마찬가지로 작동합니다. 다음으로, 당신은 요소가 아닌 문자열에 "이벤트 핸들러를 붙이는 것"입니다 ... – Ryan