2014-12-03 2 views
0

고객 요구 사항에 따라 Firefox OS를 사용하고 있습니다. JQuery와 같은 JavaScript 용 프레임 워크를 사용할 수 없습니다. 즉, 모든 것이 HTML, CSS 및 JS 여야합니다.JQuery Mobile과 같은 Javascript 메뉴

우리는 JQuery Mobile에서 본 "pushing the page"(this one)와 동일한 부작용으로 풀다운 메뉴를 작성해야합니다.

그들은이 효과를 어떻게 낼 수 있는지 알고 있습니까?

덕분에 많은

답변

2

이 일을하는 기본적인 방법은 사업부 상자 (페이지)를 만들고 그 항상 메인 페이지 뒤에 있도록 메인 페이지보다 낮은 Z- 인덱스를 설정하는 것입니다. 그런 다음 css를 사용하여 기본 페이지를 위아래로 이동하여 뒤에있는 페이지를 나타낼 수 있습니다.

CSS

#page { 
    z-index: 999; 
    width:100%; 
    height:100%; 
    background-color:white; 
    position:fixed; 
    top:0; 
    left: 0; 
    -webkit-transition: all .5s ease; 
} 

.box { 
    position:fixed; 
    top:0; 
    left: 0; 
    height:100%; 
    background-image: linear-gradient(#ddd, #ccc); 
    width: 100%; 
    display: block; 
    z-index:1; 
} 

.move { 
    top: 0em; 
    margin-top:10em; 
} 
.moveb { 
    top: 0em; 
    margin-top:0em; 
} 

자바 스크립트

function doMove() { 
var element = document.getElementById("page"); 
element.classList.remove("move"); 
element.classList.remove("moveb"); 
element.classList.add("move"); 
} 

function doMoveb() { 
var element = document.getElementById("page"); 
element.classList.remove("move"); 
element.classList.remove("moveb"); 
element.classList.add("moveb"); 
}  

데모

http://jsfiddle.net/cut3y0sq/

+0

닉 하나. 그러나 툴바와 같은 _fixed_ 요소로 작동하는지 확인하십시오. 고정 요소는 부모/래핑 div에 전환이 적용될 때 위치를 잃습니다. – Omar

+0

사실, 고정 위치는 새로운 웜 깡통을 엽니 다. 당신은 데이터 위치를 갖음으로써 그 주위를 돌아 다닐 수 있습니다 : 위치 스타일로 고정 : 절대적이며 래퍼를 주요 내용으로 갖습니다. 스크롤 성능은 Android 용 Chrome에서 이상하게 보입니다. 나는 그것이 좋지 않을지도 모른다 webview에서 짐작한다, 그러나 나는 검사 할 필요가있다. 데모 http://jsfiddle.net/uajhbfa8/ – Tasos

+0

그냥 에픽! 그게 내가 필요한 것. Thx 남자! – Fingolricks