今天早些時候,我問了一個關於我的網頁非常「跳躍」的問題。如何將瀏覽器位置應用於我的代碼?
我已爲我的網頁在這裏的測試版本:http://armandbakx.nl/
而一個codepen在這裏可以查看:http://codepen.io/anon/pen/GpmQoY
$('img').on('click', show);
$('.overlay').on('click', hide);
function show(){
$('.scroll-container').eq($(this).parent().index()).addClass('show');
$('.content-container').addClass('no-scroll');
$('.overlay').addClass('opacity');
}
function hide() {
$('.scroll-container').removeClass('show');
$('.content-container').removeClass('no-scroll');
$('.overlay').removeClass('opacity');
}
頁的想法是,你點擊圖片(在這種情況下是一個紅色的正方形),導致一個隱藏的容器顯示,可以滾動,包含更多關於這個圖像的信息和圖像。
但是,當您單擊其中一個正方形,容器和疊加層顯示時,其他圖像(正方形)會移動。有人向我建議,在我的顯示功能中,我應該嘗試跟蹤瀏覽器在打開此容器時的位置。然後在我的隱藏功能中,將瀏覽器返回到該位置。
真相被告知,我對JavaScript並不擅長,所以我幾乎不知道該如何應用它。我在這個網頁上遇到了更多問題,我必須快速修復它們,因此我再次提出問題。有人能幫助我嗎?
你能發佈你的CSS嗎?特別是'show'背後的CSS? – denodster
這是'show'的唯一.css:.show { display:block; } – Namrad
我無法重現這一點。當我點擊紅色方塊時,我立即看到一個覆蓋層,沒有跳動。當我點擊疊加層時,它會消失,將我留在我滾動到的頁面的任何位置。我正在使用Chrome 45. –