0

JQueryを使用して外部page.htmlからコンテンツをロードする次のコードがあります:

脚本:

<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>
4

2 に答える 2

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>

jQuery AJAX load()の詳細情報

于 2013-05-01T03:31:43.050 に答える
1

最後のコメントによると、event内部click event handlerで引数として渡してから呼び出す必要があるpreventDefaultため、アンカーがリダイレクトされます。すでに渡されていますobjEvent.

したがって、コードは次のようになります

$( "nav ul li a").click(function( objEvent ){
   objEvent.preventDefault();
于 2013-05-01T03:31:54.087 に答える