2015-02-08 73 views
0

我有很多的div在頁面上使用標籤:HTML內容加載上點擊

<div class="tab-box"> 
    <a href="#companyinfo" class="tabLink activeLink">Company</a> 
    <a href="#contacts" class="tabLink">Contacts</a> 
</div> 

<div class="tabcontent" id="companyinfo"> 
content 1 
</div> 

<div class="tabcontent hide" id="contacts"> 
content 2 
</div> 

怎樣的標籤已被點擊的時候我只能加載每個DIV?

我想過這樣做:

function LoadDivPage(pagename, divname) { 
    var page = pagename 
    $('#LoadingDiv').show(); 
    $(divname).load(page, function(){ 
     //new html exists now 
     $('#LoadingDiv').hide(); 
    }); 
    $("html, body").animate({ scrollTop: 0 }, "slow"); 
} 

<a href="#contacts" class="tabLink" onclick="LoadDivPage('http://www.google.co.uk/', '#contacts');">Contacts</a> 

,但它不是裝載google.co.uk和IM不知道這是最好的辦法

+0

試試這個http://getbootstrap.com/javascript/#tabs – 2015-02-08 13:15:57

+0

你不能做到這一點(特別是*裝載谷歌成一個div *)除非請求具有相同起源。 (或者服務器被配置爲允許交叉源請求)。看到[CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS) – 2015-02-08 16:14:46

回答

1

這可以通過僅在目標div不是av的情況下加載內容來工作ailable:

$(function(){ 
    var LoadDivPage = function(pagename, divname) { 
     var page = pagename, 
      containerClass = 'container-'+divname, 
      container = $('<div/>').addClass(containerClass); 

     if($('.'+containerClass).length > 0) return; 

     $('#LoadingDiv').show(); 

     $.get(page, function(data){ 
      container.html(data).appendTo($(divname)); 
      $('#LoadingDiv').hide(); 
     }); 
     $("html, body").animate({ scrollTop: 0 }, "slow"); 
    } 

    $('.tabLink').on('click', function(e){ 
     e.preventDefault(); 
     var page = $(this).data('page'), 
      div = $(this).attr('href'); 

     LoadDivPage(page, div); 
    }); 
}); 

http://jsfiddle.net/ag901f8m/2/

0

事情是這樣的:

$('.tabLink').on('click', function(e){ 
    e.preventDefault(); 
    $('.tabLink').addClass('activeLink').not(this).removeClass('activeLink'); 
    $('.tabcontent').addClass('hide'); 

    //Id of current tabcontent 
    var currentTab = $(this).attr('href'); 
    $(currentTab).removeClass('hide'); 
}); 

Example

+0

這不會加載實際內容onclick雖然 – Charles 2015-02-08 14:32:48

+0

它顯示div與ID等於點擊元素的href值 – 2015-02-08 14:40:40