我在一個單獨的.js腳本文件中實現了下面的函數,該文件加載在我的主頁面(Asp.net mvc)中。jQuery - .Ready在div頁面中不在頁面中觸發
回撥給服務器的費用相當高,但如果在需要填寫我的div標籤的子頁面/內容頁面上特別要求,請確定。
我的問題是代碼在每個頁面上運行,包括div標籤不存在的頁面。
我該如何補救我的代碼?
任何意見歡迎, 謝謝,安德斯,丹麥
jQuery("divStatWrapper").ready(function()
{
jQuery.getJSON("/Statistics/GetPointsDevelopment",
function(json)
{
jQuery("#divStatWrapper #divStatLoading").fadeOut(1000);
var jsonPoints = new Array();
jQuery.each(json.Points, function(i, item)
{
jsonPoints.push(item.PlayerPoints);
});
jsonPoints.reverse();
var api = new jGCharts.Api();
jQuery('<img>')
.attr('src', api.make({
data : jsonPoints,
type : "lc",
size : "600x250"
}))
.appendTo("#divStatContents");
jQuery("#divStatWrapper #divStatContents").fadeIn(1000);
});
});
HTML:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
<%@ Import Namespace="AJF.Op.Web.MVC.SpilMerePool.Helpers" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<center>
<table id="statisticsTable" classname="statisticsTable">
<tr valign="top" align="center">
<td>
<%Html.RenderPartial(SMPControls.QueueStatus.ToString(), null); %>
</td>
<td>
<h2>
Statistik - udvikling i point over tid</h2>
<h3>
(Alle resultater frem til løbende dato)</h3>
<div id="divStatWrapper">
<div id="divStatLoading">
<img src="../../Images/ajax-loader.gif" />
<span>Loading</span>
</div>
<div id="divStatContents">
</div>
</div>
</td>
</tr>
</table>
</center>
</asp:Content>
爲什麼不'$(文件)。就緒(...)'運行一次? – Reigel 2010-05-12 07:08:02
我讀過$可能會被用於不同的目的,這取決於你正在使用的庫 - 所以爲了安全起見,我只是寫出來。據我所知,$和jQuery是一樣的(除非被其他庫重載)。 – 2010-05-12 08:20:48