2016-12-18 5 views
0

Я хочу, чтобы моя страница прокрутки Div id='#pageload' , если он будет загружен из URL http://www.website.com/#pageloadВыделите Div после загрузки страницы

я использовал код ниже, но все страницы перенаправления http://www.website.com/#pageload

if(document.location ="/#pageload") { 
    $('html, body').animate({ 
     scrollTop: $('#pageload').offset().top 
    }, 'slow'); 
} 

Как я могу это исправить? Большое спасибо.

+0

не должно быть 'if (document.location.hash =" # pageload ")'? –

+0

Привет. Это не работа. –

ответ

0

В вашем коде есть пара синтаксических ошибок. Обратите внимание, что в вашем if() вы использовали один знак равенства (знак назначения), когда вы должны использовать два или три (знак утверждения). Проверьте образец фрагмента.

//you can get rid off that part 
 
document.location.hash="#d"; //set url /#d dynamically 
 
document.body.scrollTop = "0px"; //set scroll to 0 
 
//you can get rid off that part 
 

 
if(document.location.hash === "#d"){ 
 
    
 
     $('body').animate({ 
 
       scrollTop: $('#d').offset().top 
 
     }, 'slow'); 
 
     }
.cont{ 
 
    width: 200px; 
 
    height:500px; 
 
    margin:10px; 
 
    background-color:#fce4ec; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div class="cont" id="a">a</div> 
 
<div class="cont" id="b">b</div> 
 
<div class="cont" id="c">c</div> 
 
<div class="cont" id="d">d</div> 
 
<div class="cont" id="e">e</div> 
 
<div class="cont" id="f">f</div>

0

Я хочу, чтобы мою страницу свиток div id='#pageload', если он загружен из URL http://www.website.com/#pageload

Ключевым фактором здесь является то, что вам нужно использовать хэш фрагмент, который является различными от id элемента, который вы хотите, y загруженное окно для прокрутки вниз.

Если хэш-фрагмент и элемент id идентичны, то окно при его загрузке автоматически позиционирует себя с этим элементом в верхней части окна просмотра ... и тогда нигде для окна не будет прокрутки до и, следовательно, никакой анимации.

В приведенном ниже примере,

  • фрагмент хэш #topageload
  • элемент id является #pageload

Рабочий пример:

$(document).ready(function(){ 
 

 
    // The line below (and the second condition involving winLocHash are included just so this example works 
 
    var winLocHash = '#toppageload'; 
 

 
    if ((window.location.hash === '#topageload') || (winLocHash === '#toppageload')) { 
 
     $('html, body').animate({scrollTop: $("#pageload").offset().top}, 3000); 
 
    } 
 

 
});
body { 
 
    background-color: rgb(255,255,0); 
 
} 
 

 
div { 
 
    width: 100px; 
 
    height: 100px; 
 
    margin: 24px; 
 
} 
 

 
div:nth-of-type(odd) { 
 
    background-color: rgb(255,0,0); 
 
} 
 

 
div:nth-of-type(even) { 
 
    background-color: rgb(0,0,255); 
 
} 
 

 
#pageload { 
 
    color: rgb(255,255,255); 
 
    line-height: 100px; 
 
    font-weight: bold; 
 
    text-align: center; 
 
    background-color: rgb(0,127,0); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 

 
<div id="pageload">#Pageload</div> 
 

 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div>

Смежные вопросы