PDA

View Full Version : مشکل با قرار دادن توابع jquery در فایل های js



na3er-faraji
چهارشنبه 26 مهر 1391, 13:56 عصر
سلام. یک مشکل خیلی ساده دارم. فرض کنید تو یک صفحه asp.net تغداد زیادی تابع jquery نوشتم. مثلا show و hide کردن عناصر, خوندن عناصر با ajax و ...

حالا میخام اینا رو بزارم تو یک فایل js و فقط link کنم به صفحه که حجم صفحه م کم بشه و صفحه از لحاظ کدنویسی مرتب تر باشه و از همه مهمتر فقط سری اول لود بشه تا سرعتم هم بیشتر بشه . اما وقتی این توابع رو میزارم تو فایل js دیگه کار نمیکنه. چرا ؟؟؟
جون یک سری توابعه که داره با عناصر صفحه کار میکنه. مثلا داره یک div رو hide میکنه و برعکس. اما من تو خیلی سایت ها هم که رفتم ندیدم توابع jquery شون توی page هاشون باشه. اونا چیکا میکنن؟؟؟

meisam3322
چهارشنبه 26 مهر 1391, 17:58 عصر
آیا توابع jquery رو که داخل فایل مورد نظر قرار دادین بعد از Document.ready هست یا نه :



$(document).ready(function() {var curIndex = 0;var max = items.length;$('.prev') ...

na3er-faraji
چهارشنبه 26 مهر 1391, 18:22 عصر
نخیر من فقط توابع رو قرار دادم

meisam3322
چهارشنبه 26 مهر 1391, 18:51 عصر
توابع jquery خودتو داخل این فانکشن بزار :


$(document).ready(function () {

توابع شما

});

این هم نمونه کد داخل document ready قرار گرفته :




$(document).ready(function () {
news_id = 1;
$("#content div").hide();
$("#news1").attr("src", "image/right_news_btnnew_over.jpg");
$("#tab1").fadeIn();

$('#news1').click(function (e) {
e.preventDefault();
if (news_id == 2) {
$("#content div").hide();
$('#tab1').fadeIn();
$("#news1").attr("src", "image/right_news_btnnew_over.jpg");
$("#news2").attr("src", "image/right_news_btnarchive.jpg");
news_id = 1;
}
});

$('#news2').click(function (e) {
e.preventDefault();
if (news_id == 1) {
$("#content div").hide();
$('#tab2').fadeIn();
$("#news2").attr("src", "image/right_news_btnarchive_over.jpg");
$("#news1").attr("src", "image/right_news_btnnew.jpg");
news_id = 2;
}
});

});

na3er-faraji
چهارشنبه 26 مهر 1391, 20:36 عصر
$(document).ready(function (e) {
//default value
$("#<%=lblContactType.ClientID %>").hide();

var groupId = $("#<%=ddlGroup1.ClientID %>").val();
RefreshControl(groupId);
CheckTextBoxPrice();
CheckValidatorPriceType(e);
CheckValidatorRahnAndEjare();

$("#<%=txtText.ClientID %>").keypress(function (e) {
if ($(this).val().length > 2000) {
var key = e.keyCode || e.charCode;
if (!(key == 8 || key == 46 || key == 9)) {
return false;
}
}
});
$("#<%=ddlGroup1.ClientID %>").change(function () {
var groupId = $("#<%=ddlGroup1.ClientID %>").val();
changeGroup(groupId);
RefreshControl(groupId);
CheckTextBoxPrice();
});
$("#<%= ddlPriceType.ClientID %>").change(function () {
CheckTextBoxPrice();
CheckValidatorPriceType();
});
//check type tamas
$("#<%=btnSave.ClientID %>").click(function (e) {
$("#divMessage").hide();
var groupId = $("#<%=ddlGroup1.ClientID %>").val();
CheckValidatorPriceType();
CheckValidatorRahnAndEjare();
CheckContactValidate(e);
});
$(document).on("click", ".close", function () {
$("#divMessage").fadeOut();
});

function changeGroup(groupId) {
if (groupId != 0) {
$.ajax({
type: "POST",
url: "Post.aspx/GetGroup2",
data: "{'groupParentId': " + groupId + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
var items = "<option value=0>انتخاب</option>";
for (var i = 0; i < result.d.length; i++) {
var opt = result.d[i];
items += "<option value=\"" + opt.GroupId + "\">" + opt.GroupTitle + "</option>";
}
$("#<%=ddlGroup2.ClientID %>").html(items);
},
error: function (result) { alert(result.status + ' ' + result.statusText) }
});
}
else {
$("#<%=ddlGroup2.ClientID %>").html("<option value=0>انتخاب</option>");
}
}

function RefreshControl(groupId) {
$("#BuyPrice").hide();
$("#HousePrice").hide();
$("#infoRahn").hide();
$("#<%=txtPrice.ClientID %>").hide();

if (groupId == 2 || groupId == 7 || groupId == 14 || groupId == 74 || groupId == 42) {
$("#BuyPrice").show();
}
else if (groupId == 36 || groupId == 47) {
$("#HousePrice").show();
$("#infoRahn").show();
}
}

function CheckValidatorPriceType() {
ValidatorEnable($("#<%=regPrice.ClientID %>")[0], false);
ValidatorEnable($("#<%=rfvPrice.ClientID %>")[0], false);
var groupId = $("#<%=ddlGroup1.ClientID %>").val();

if (groupId == 2 || groupId == 7 || groupId == 14 || groupId == 74 || groupId == 42) {
var priceType = $("#<%=ddlPriceType.ClientID %>").val();
if (priceType == 1) {
ValidatorEnable($("#<%=regPrice.ClientID %>")[0], true);
ValidatorEnable($("#<%=rfvPrice.ClientID %>")[0], true);
}
}
}

function CheckValidatorRahnAndEjare() {
ValidatorEnable($("#<%=rfvRahn.ClientID %>")[0], false);
ValidatorEnable($("#<%=rfvEjare.ClientID %>")[0], false);
ValidatorEnable($("#<%=regRahn.ClientID %>")[0], false);
ValidatorEnable($("#<%=regEjare.ClientID %>")[0], false);

var groupId = $("#<%=ddlGroup1.ClientID %>").val();

if (groupId == 36 || groupId == 47) {
ValidatorEnable($("#<%=rfvRahn.ClientID %>")[0], true);
ValidatorEnable($("#<%=rfvEjare.ClientID %>")[0], true);
ValidatorEnable($("#<%=regRahn.ClientID %>")[0], true);
ValidatorEnable($("#<%=regEjare.ClientID %>")[0], true);
}
}
function CheckContactValidate(e) {
if ($("#<%=chkEmail.ClientID %>").attr("checked") || $("#<%=chkMobile.ClientID %>").attr("checked")) {
$("#<%=lblContactType.ClientID %>").hide();
}
else {
$("#<%=lblContactType.ClientID %>").show();
e.preventDefault()
}
}
function CheckTextBoxPrice() {
$("#<%=txtPrice.ClientID %>").hide();
var priceType = $("#<%=ddlPriceType.ClientID %>").val();
if (priceType == 1) {
$("#<%=txtPrice.ClientID %>").show();
}
}
});

بازم کار نمیکنه. الان اینا داخل یک فایله که لینکش کردم به صفحه. اما کار نمیکنه. باید چیکا کنم؟

na3er-faraji
یک شنبه 30 مهر 1391, 20:50 عصر
دوستان ممنون میشم راهنمایی کنید. چون فک نمیکنم چیز زیاد سختی باشه. من ندیدم هیچ سایتی توابعش رو تو سورس صفحه بزاره. معمولا از فایل های خارجی استفاده میشه.