0

我尝试写一个Jquery。代码点火器中的 Ajax。但它不会发布内容,而是在我单击链接时从头开始加载所有页面。因此,所有开始动画都会再次显示。
我的 ajax.js 在 header.php 头部部分:

$("#sidebar-content ul li a").click( function(e){
   e.preventDefault();
   var target_url = $(this).attr('href');
   $.ajax({
       url: target_url,
      type: 'POST',
      data: target_url,
   success: function(response) {
                $('#content').html(response.msg);
            }
   });
return false;
});

Menu.php 文件是:

<!-- SIDEBAR -->

<div id="sidebar">
    <div id="sidebar-content">
            <!-- MENU -->
       <ul id="menu">
         <li class="current"><a href="<?php echo site_url('home'); ?>">ANASAYFA</a></li>
         <li><a href="<?php echo site_url('about'); ?>">HAKKIMIZDA</a></li>

我只想在主页中更改内容划分。我该如何更正代码?

编辑1:

这现在有效。但我不得不使用#page 而不是#content。

$("#sidebar-content ul li a").click( function(e){
     e.preventDefault();
     $('#page').load(this.href);
     return false;
});
4

3 回答 3

2

我认为您应该return false在活动结束时放置click-

$("#sidebar-content ul li a").click( function(e){
     // your existing stuff here

     return false; // or e.preventDefault();
});

这是完整的代码试试这个

$("#sidebar-content ul li a").click( function(e){
     e.preventDefault();
     $('#content').load(this.href);
     return false;
});
于 2012-08-05T16:06:03.370 回答
0

要在容器中加载一些代码,您只需要使用 load 方法。就像是:

$( "#content" ).load( "your url here" );

看看文档:http ://api.jquery.com/load/

例如,删除“a”标签并使用跨度。它不会触发超链接,您也不会停止传播。而不是“a”使用:

<span data-url="your url...">link</span>

当您单击跨度进行加载时,您将获得“data-url”属性。

于 2012-08-05T16:02:58.837 回答
0

尝试;

确保你像链接 jquery 一样;

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">

或者

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js">

并将您的javascript包装在里面;

$(document).ready( function() {

});

在您的网页部分内,以使您的代码运行。

$('#content').text(response.msg);

代替

$('#content').html(response.msg);
于 2012-08-05T16:18:58.870 回答