2012-01-26 21 views
2

我建立在一個WordPress主題上,並希望通過AJAX加載帖子和頁面。我通過下面的代碼片段瞭解了這一點,但現在我只需要在點擊徽標時禁止該功能,顯然鏈接到主頁URL。所以當點擊徽標時,它應該強制正常重新加載,而不是使用該功能。如果hasClass(徽標),然後使用默認「...是的,我是相當新的JavaScript,但我一直在尋找很多,所以在右邊的任何幫助方向將不勝感激。謝謝!如何使用例如JavaScript來抑制JavaScript函數。 hasClass?

的片段:

 
    $(".home li.home").removeClass("home").addClass("current_page_item"); 

    var $wrapperAjax = $("#wrapper-ajax"), 
     URL = '', 
     siteURL = "http://" + top.location.host.toString(), 
     $internalLinks = $("a[href^='"+siteURL+"']"), 
     hash = window.location.hash, 
     $ajaxSpinner = $("#ajax-loader"), 
     $el, $allLinks = $("a"); 

    function hashizeLinks() { 
     $("a[href^='"+siteURL+"']").each(function() { 
      $el = $(this); 

      if ($.browser.msie) { 
       $el.attr("href", "#/" + this.pathname) 
       .attr("rel", "internal"); 
      } else { 
       $el.attr("href", "#" + this.pathname) 
       .attr("rel", "internal"); 
      } 
     }); 
    }; 

    hashizeLinks(); 

    $("a[rel='internal']").live("click", function() { 
     $ajaxSpinner.fadeIn(); 
     $wrapperAjax.animate({ opacity: "0.1" }); 
     $el = $(this); 
     $(".current_page_item").removeClass("current_page_item"); 
     $allLinks.removeClass("current_link"); 
     URL = $el.attr("href").substring(1); 
     URL = URL + " .entry"; 
     $wrapperAjax.load(URL, function() { 
      $el.addClass("current_link").parent().addClass("current_page_item"); 
      $ajaxSpinner.fadeOut(); 
      $wrapperAjax.animate({ opacity: "1" }); 
      hashizeLinks(); 
     }); 
    }); 

    $("#searchform").submit(function(e) { 
     $ajaxSpinner.fadeIn(); 
     $wrapperAjax.animate({ opacity: "0.1" }); 
     $el = $(this); 
     $(".current_page_item").removeClass("current_page_item"); 
     $allLinks.removeClass("current_link"); 
     URL = "/?s=" + $("#s").val() + " .entry"; 
     $wrapperAjax.load(URL, function() { 
      $ajaxSpinner.fadeOut(); 
      $wrapperAjax.animate({ opacity: "1" }); 
      hashizeLinks(); 
     }); 
     e.preventDefault(); 
    }); 

    if ((hash) && (hash != "#/")) { 
     $("a[href*='"+hash+"']").trigger("click"); 
    } 

回答

0

如果它具有類.logo,你可以在函數的頂部添加此:

if ($(this).hasClass('logo')) return true; 

simple example

+0

謝謝你的快速回答! 我已經嘗試過,但沒有運氣。對不起 –

+0

你確定你在功能的開始處添加了它嗎? – PeeHaa

+0

是的,不幸的是 –

0

我猜你這條線意味着該腳本:$("a[rel='internal']")

在這種情況下,$("a[rel='internal']").not('.logo')應該做的伎倆。

我應該讀完整個代碼。將$("a[href^='"+siteURL+"']")替換爲$("a[href^='"+siteURL+"']").not('.logo')

+0

感謝您的快速回復! 我已經嘗試過,但它似乎沒有工作。點擊鏈接不做任何事情。 –

+0

它仍然是一樣的。抱歉 –