2015-11-03 4 views
1

Когда я нажимаю на ссылку, я хочу, чтобы page2.html появлялся без какой-либо перезагрузки текущей страницы. Несмотря на все испытания, когда я нажимаю на ссылку она перезагружать всю страницу перед отображением page2.htmlОткрыть ссылку без повторной загрузки страницы

<script> 
 
    $(document).ready(function() { 
 
    $("a").click(function(event) { 
 
     var $this = $(this), 
 
     url = $this.data("url"); 
 

 
     $(document.body).load(url); 
 
     event.preventDefault(); 
 
    }); 
 
    }); < /script>

homepage.html

<a href="#" data-url="page2.html" class="topic-list-item"> 
 

 
    <h3 class="topic-title">Internet Protocol Basics</h3> 
 

 
    <div class="topic-description-text"> 
 
    Learn how Internet Protocol is used 
 
    </div> 
 
</a>

+0

'функции (данные)' должны быть что-то вроде 'функции (данные) {$ ('myDiv'). HTML (данные)} ' – DLeh

+0

вы хотите заменить полный html или просто содержимое div –

+0

@Virendrayadav полный html ... я хочу, чтобы страница1 была заменена на страницу2, но без перезагрузки – Neha

ответ

1
$("a").click(function() { 
var $this = $(this), 
    href = $this.attr("href"); 

$(document.body).load(href); 

location.href = "#" + href; 
}); 

Для получения более подробной информации см. jQuery.fn.load.

+0

Но у меня есть 10 таких ссылок, мне нужно будет повторить этот код 10 раз? – Neha

+0

Я пробовал ваш код - страница все еще перезагружается. – Neha

+0

попробуйте удалить эту часть' location.href = "#" + href; ' –

0

Попробуйте один

$("a").click(function(){ 
    var myhref = $(this).attr('href'); 
    $('#content').load(myhref); 
    return false; 
}); 

<a href="page2.html">Load page2.html</a> 
<div id="content">Hello world!</div> 
+0

Когда я нажимаю на ссылку - перезагружается страница, я не хочу, чтобы страница перезагружалась – Neha

+0

Если ваша ссылка выглядит так: 'Load page2.html' он должен работать –

+0

Да, мой ссылка, как вы указали, - page2.html появляется, но после перезагрузки – Neha

0

попробуйте этот код будет работать

$(document).ready(function() { 
      $("a").click(function (event) { 
       var $this = $(this), 
        url = $this.data("url"); 

       $(document.body).load(url); 
       event.preventDefault(); 
      }); 
     }); 

проблема с кодом Digital, является то, что он не использует функцию данных, чтобы получить URL, а когда мы нажмем на то действие по умолчанию для якоря будет вызвано, поэтому нам нужно остановить действие по умолчанию, поэтому я использовал event.preventDefault();

также всегда поместить ваш код Jquery между $ (документ) .ready блок

+0

Я действительно не понимаю, почему он не работает. page2.html не открывается. – Neha

+0

см мой обновленный код выше – Neha

+0

я создал аа дем на локальной системе, он работает отлично –

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