2013-05-01 97 views
0

我有下面的代碼使用加載外部page.html中內容的JQuery:AJAX和jQuery的負載錨

SCRIPT:

<script type="text/javascript">  
$(
function(){ 
var jContent = $("#content"); 

$("nav ul li a").click(function(objEvent){ 
var jLink = $(this); ... 

HTML

<nav> 
<ul> 
<li><a href="page1.html">Page 1</a></li> 
<li><a href="page2.html">Page 2</a></li> 
<li><a href="page3.html">Page 3</a></li> 
</ul> 
</nav> 


<div id="content">Here load content</div> 

該腳本工作正常,但是...我想要一些內容將它們加載到一個特定的錨點(page1.html#anchor)

http://www.libelulastudio.com/demo/ajax/01/

我應該添加到我的腳本中?由於

///////////////////////

你好終於用下面的代碼解決:

<script> $(document).ready(function(){ $("a#dos").click(function(){ 
     $("#content").load("page2.html", function(responseTxt,statusTxt,xhr){ 
     if(statusTxt=="success") 
     $(function() { 
    $(document).scrollTop($("#p2").offset().top); }); 
     if(statusTxt=="error") 
     alert("Error: "+xhr.status+": "+xhr.statusText); 
     }); 
    }); ... 

HTML

<a href="#" id="dos">Go to Product 2</a> 

<div id="content">... content ... </div> 
+0

你到底想要做什麼? – 2013-05-01 03:23:44

+0

如果我運行我的鏈接到錨點不工作:page1.html#anchor – 2013-05-01 03:28:04

回答

3

嘗試:

<script lang='javascript'> 
     $(document).ready(function(){ 
      $('.ajaxload').click(function(){ 
       $('#content_div').load($(this).attr('id')+'.html'); 
      }); 
     }); 
</script> 

<nav> 
    <ul> 
     <li><a class='ajaxload' href="javascript:void(0)" id='page1'>Page 1</a></li> 
     <li><a class='ajaxload' href="javascript:void(0)" id='page2'>Page 2</a></li> 
     <li><a class='ajaxload' href="javascript:void(0)" id='page3'>Page 3</a></li> 
     <li><a href='#page4_content'>Page 4</a></li> 
    </ul> 
</nav> 

<div id='content_div'> 
    <!--Here your content gets loaded--> 
</div> 
<div id='page4_content'> 
    <!--Page 4 content here--> 
</div> 

更多INF Ø在jQuery AJAX load()

+0

謝謝,讓我試試 – 2013-05-01 03:47:31

+0

現在,您的代碼工作正常,因爲我可以加載內容,也可以作爲一個錨點示例:page1#anchor – 2013-05-02 15:06:15

+0

查看已更新回答 – hsuk 2013-05-03 03:43:01

1

根據您最後的評論,你需要通過event作爲參數內click event handler然後調用preventDefault所以錨將重定向你,你已經通過objEvent.

所以代碼看起來像下面

$("nav ul li a").click(function(objEvent){ 
    objEvent.preventDefault(); 
+0

謝謝,讓我試試 – 2013-05-01 03:42:42