0
왼쪽에 메뉴가 있습니다.li > 항목이 있고 오른쪽에는 항목 당 하나의 div가 4 개 있고 마우스로 항목을 입력하면 div 중 하나가 표시되어야합니다 . showDiv (ID)가 사업부를 보여주고 다른 사업부를 숨 깁니다Mootools : 메뉴에서 div 들간의 페이드 조절
<ul><li onmouseover="javascript:showDiv("div1");">one</li><li onmouseover="javascript:showDiv("div2");">two</li>(4 li)</ul>
같은 뭔가.
div의 :
<div id="menu1">menu1</div>
<div id="menu2" style="display:none;">menu2</div>
<div id="menu3" style="display:none;">menu3</div>
<div id="menu4" style="display:none;">menu4</div>
자바 스크립트 코드 : 저작물 등은, 내가 여기에 붙여 넣기하지 것이다 addEvent
function fadeBetweenDivs(div1, div2) {
$$(div1).fade("out");
(function(){
$$(div1).setStyles({
display: 'none',
opacity: 0
});
}).delay(150);
(function(){
$(div2).setStyles({
display: 'block',
opacity: 0
});
}).delay(150);
$$(div2).fade("in");
}
function findDiv() {
var arrayDiv = ["menu1","menu2","menu3","menu4"];
for (i=0;i<arrayDiv.length;i++) {
var blockDiv = document.getElementById(arrayDiv[i]).style.display;
if (blockDiv = "block") {
var viewedDiv = arrayDiv[i];
return viewedDiv;
}
}
}
function showDiv(showdiv) {
var hidediv = findDiv();
fadeBetweenDivs(hidediv,showdiv);
}
코드입니다. 실행 된 함수는 showDiv ("div id")입니다. .
문제점을 찾을 수 없습니다. div를 퇴색시키는 방법이나 최소한 간단한 방법으로 말해 줄 수 있습니까?
코드에서 오류가 많이 있습니다
'$$ ('메뉴를 선택합니다.') (0) .setStyle ('디스플레이'페이드 '없음'.); - fade는 비동기 적이며 체인처럼 연결될 수 없으며, 디스플레이로 인해 그것을 숨기고 페이드를 0으로 트위닝하지만 사용자가 볼 수는 없습니다. fade ("0");'- 당신이 필요로하지만'el.set ("tween", {onComplete : function() {this.element.setStyle ("display", "none");}) 페이드 인처럼 다른 트윈을 수행하기 전에 .get ("tween"). removeEvents();'를 호출해야합니다. 선택기를 캐시해야합니다. 이는 대용량 데이터 세트와 구형 브라우저에서 매우 느려지거나 비효율적 일 수 있습니다. 추신. 이것은 1.2에 대한 것이므로 joomla 1.5가 아닙니다. (custom'd가 아닌 한) –
오른쪽 Dimitar! Ken이 그 문제를 해결하는 방법을 알게하는 것은 간단한 예일뿐입니다! 저와 그에게 코드를 개선 할 수있는 방법을 알려 주셔서 감사합니다. 그런데 페이드를 알았지 만 setStyle ('opacity', 0)을 사용하여 불투명도를 "재설정"하는 방법 일뿐입니다. 사용자가 효과를 보도록하려면 Fx.Morph를 연결하여 다른 방법을 사용할 수 있습니다. 캐싱에 대해서도 동의합니다. 코드를 수정 하겠지만 5 분이 걸릴 것입니다.) – stecb
이 사실을 알고 있지만 문제를 질문 한 사람 또는 솔루션을 볼 사람이 아닐 수도 있습니다. :) –