URL에서 ID를 캡처 한 후에 해당 div를 기반으로 탐색하려고합니다.jquery를 사용하여 div ID의 위치로 스크롤 하시겠습니까?
URL은 사용자가이 페이지 여기
http://localhost:6447/products/all-products#productId2
를 탐색한다 처음으로 아래와 같은입니다 # productId2 페이지에서 DIV 아이디는 내가 페이지로드 스크롤해야하는 것입니다 내가
페이징으로 목록보기에 제품을 표시합니다.
<ItemTemplate>
<tr>
<td>
<div id='#productId<%#Eval("PId")%>'>
<a class="ProdcutText">
<%#Eval("PName")%></a>
</div>
</td>
</tr>
<tr>
<td>
<div class="PriceText">
-<a class="PPrice"><%#Eval("Price")%></a></div>
</td>
</tr>
<tr>
<td>
<div class="PDesc">
<asp:Label ID="lblDesc" runat="server" Text='<%#Eval("PrdocutDescription")%>'> </asp:Label>
</div>
</td>
</tr>
</ItemTemplate>
페이지 아래에 시도했지만 작동하지 않는 것 같습니다.
<asp:Content ID="HeadContent" ContentPlaceHolderID="MasterHeadContentHolder" runat="server">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('html,body').animate({
scrollTop: $("#productId6").offset().top
}, 2000);
});
</script>
잘못 무엇입니까? 및 페이징 후 url 변경 및 내가 정의되지 않은 및 null 오류 오류 가져옵니다.
var $target = $(location.hash);
var pos = Math.max(0, $target.offset().top);
var $view = browser.indexOf('WebKit') < 0 ? $('html') : $(document.body);
$view.animate({'scrollTop': pos});
첫 번째 줄은 # productId2처럼 URL에서 제품 ID를 가져옵니다
<div id="productId2">
Proiduct details
</div>
이것은 서버 문제이며, ASP는 페이징을위한 쿼리 문자열을 추가하지만 위치 해시를 추가하지 않으므로 사라집니다. – adeneo
@adeneo : 예 알아요. null 일 때이 상황을 처리하는 방법이 사라졌습니다. –