2012-07-15 43 views
0

此代碼在Firefox和IE中正常工作。在Chrome中,您需要點擊每個鏈接兩次,即使頁面加載了兩次。有一個例子在http://www.crowdfundcenter.com/ajaxpage.php這是代碼:Chrome中的jquery標籤需要2次點擊

<script type="text/javascript"> 

$(document).ready(function() { <!-- Begin document ready function --> 

    $.history.init(pageload); 

    $('a[href=' + window.location.hash + ']').addClass('selected'); 

    $('a[rel=ajax]').click(function() { <!-- Begin click function --> 

     var hash = this.href; 
     hash = hash.replace(/^.*#/, ''); 
     $.history.load(hash); 

     $('a[rel=ajax]').removeClass('selected'); 
     $(this).addClass('selected'); 

     return false; 

    }); <!-- End click function --> 


}); <!-- End document ready function --> 


function pageload(hash) { <!-- Begin pageload hash --> 
    if (hash) getPage();  
    } <!-- End pageload hash --> 


function getPage() { <!-- Begin getPage function --> 
    var loading = $("#loading"); 
    var data1 = document.location.hash; 
    showLoading(); 
    switch(data1){ 
     case "#home": 
      $('#content').slideUp(); 
      $('#content').load('xhome.html', hideLoading); 
      $('#content').slideDown(); 
      break; 
     case "#business": 
      $('#content').slideUp(); 
      $('#content').load('xbusiness.html', hideLoading); 
      $('#content').slideDown(); 
      break; 
     case "#aboutus": 
      $('#content').slideUp(); 
      $('#content').load('xaboutus.html', hideLoading); 
      $('#content').slideDown(); 
      break; 
     case "#hidpage": 
      $('#content').slideUp(); 
      $('#content').load('xhidpage.html', hideLoading); 
      $('#content').slideDown(); 
      break; 
     default: 
      $('.loading').hide(); 
      break; 
    } 

function showLoading(){ 
    loading 
     .css({visibility:"visible"}) 
     .css({opacity:"1"}) 
     .css({display:"block"}); 
     } 

function hideLoading(){ 
    loading.fadeTo(1000, 0); 
    }; 

};  <!-- End getPage function --> 

</script> 


<div id="wrapper"> <!-- Begin wrapper --> 

<div id="header"> 
    <ul id="menu"> 
     <li><a href="#home" rel="ajax">Home</a></li> 
     <li><a href="#business" rel="ajax">Business</a></li> 
     <li><a href="#aboutus" rel="ajax">About Us</a></li> 
    </ul> 
</div> 

    <div style="clear: both;"></div> 

    <div style="display: block; float: left; height: 24px;"> 
    <div id="loading"> 
    <img src="img/loading99small.gif" alt="Loading..." /> 
    </div> 
    </div> 


    <div style="clear: both;"></div> 


    <div id="content"> <!-- Begin content --> 
     <!-- Ajax Content --> 

<div style="display: block; width: auto; margin: auto;"> 

<div style="display: block; width: auto; margin: 0px 0px 0px 0px; color: #CCCCCC; font-size: 12px;"> 
    <h2>Home Page</h2> 
    This is the home page generated by code on this page. 
</div> 
    </div> 


</div> <!-- End content --> 


<div style="display: block; float: left; clear: both;"></div> 


<div style="display: block; width: auto; margin: auto;"> <!-- Begin footer --> 

<div id="footer" style="display: block; margin: 40px 0px 40px 0px; color: #808080; font-size: 16px; font-weight: bold;"> 
    This is the footer for the page. 
    </div> 

    </div> <!-- End footer --> 

</div> <!-- End wrapper --> 

一切工作正常在Firefox和IE瀏覽器。問題是Chrome,不知道問題是什麼,任何援助非常感謝。

+2

我在Chrome上,他們只需要點擊一下 – Martin 2012-07-15 21:51:50

+0

@Martin +1。嘗試重新安裝chrome – 2012-07-15 21:53:53

回答

0

問題是你的問題。

您正在發行中加載頁面都

  • $('a[rel=ajax]').click()
  • $.history.init()

因此,代碼實際上按預期工作。

+0

不知道如何解決該問題,並且歷史記錄對於能夠從URL加載選項卡很重要。 – user1511039 2012-07-15 22:30:12

+0

@ user1511039,你需要更好地理解插件是如何工作的 – Alexander 2012-07-16 06:11:29

+0

我是jQuery的新手,很明顯,因爲如何解決這個問題而丟失了。任何援助,你可以提供將不勝感激。 – user1511039 2012-07-16 14:42:08